import os
import glob
import random
import base64
import logging

# A helper classed used for training the zstandard lib pre made dictionary.
# This is only used for training the dictionary, so it's not used in the main code.
class ZStandardDictionary:

    _Instance = None

    # These are only used for dev building.
    _TrainingPath = "/home/pi/zstandard-training-samples"
    _OutputDictFilePath = "/home/pi/zstandard-gen-dict-base64.data"


    @staticmethod
    def Init(logger:logging.Logger):
        ZStandardDictionary._Instance = ZStandardDictionary(logger)


    @staticmethod
    def Get():
        return ZStandardDictionary._Instance


    def __init__(self, logger:logging.Logger) -> None:
        self.Logger = logger
        self.TrainingDataNamePrefix:str = None

        # This will be None if we aren't using zstandard in this runtime.
        self.PreTrainedDict = None


    # The check for zstandard lib must be made before we can call this, but if we are using zstandard, we must load this dict.
    def InitPreComputedDict(self):
        # To make things easier, we include the dict in the source code as a based64 encoded string.
        # This prevents us from doing any kind of file IO or network calls to load the dict.
        dictData = base64.b64decode(ZStandardDictionary.c_Dict1)

        # We can input zlib, because this class is only inited when the compression class has already checked for zlib support.
        #pylint: disable=import-outside-toplevel,unused-import
        import zstandard as zstd

        # Load the dict from the data.
        localDict = zstd.ZstdCompressionDict(dictData, dict_type=zstd.DICT_TYPE_FULLDICT)

        # Doing pre-compute now makes it so we don't have to use compute the dict on first use.
        # We must specify a level, so we use the same level we use elsewhere, which is the default of 3.
        localDict.precompute_compress(level=3)

        # Success! We are using the pre-trained dict, so set it.
        self.PreTrainedDict = localDict
        self.Logger.info(f"ZStandard Dict Training loaded. Data Length:{len(self.PreTrainedDict.as_bytes())} DictID:{self.PreTrainedDict.dict_id()}")


    # DEV ONLY
    # Used only in dev builds to init training data samples.
    # You must also add SubmitData into the Compression class to get the samples submitted.
    def InitTrainingOutputDataFile(self, namePrefix:str):
        if input(f"Are you sure you want to add to the training data with prefix [{namePrefix}]? (y/n) ") != "y":
            return
        self.TrainingDataNamePrefix = namePrefix
        # Ensure the training path exists.
        if not os.path.exists(ZStandardDictionary._TrainingPath):
            os.makedirs(ZStandardDictionary._TrainingPath)


    # DEV ONLY
    # This should be called by everything that's compressing data to sample it.
    # The training data file should include as much data as we can from all platforms.
    # To start training, add this to the Compression.Compress and Compress.Decompress functions if we are using zstandard.
    def SubmitData(self, data:bytes) -> None:
        # Check state to see if we are training.
        if self.TrainingDataNamePrefix is None:
            self.Logger.warn("ZStandardDictionary.SubmitData was called but we aren't training!")
            return

        try:
            # Get a random file name.
            fileId = random.random() * 100000000
            fileName = f"{self.TrainingDataNamePrefix}-{fileId}.txt"
            self.Logger.info(f"Writing {len(data)} bytes to the training file: {fileName}")

            # Write the data.
            with open(os.path.join(ZStandardDictionary._TrainingPath, fileName), "w", encoding="utf-8") as f:
                f.write(data.decode("utf-8"))

        except Exception as e:
            self.Logger.error(f"ZStandardDictionary failed to write data to the file. Error: {e}")


    # Used by dev builds to build a new training dict.
    def BuildTrainingDict(self):
        try:
            #pylint: disable=import-outside-toplevel
            import zstandard as zstd

            # Train a new dict.
            # Collect all of the samples that are in the samples folder.
            inputSamples = []
            searchStr = os.path.join(ZStandardDictionary._TrainingPath, "*")
            for file in glob.glob(searchStr):
                with open(file, "rb") as f:
                    inputSamples.append(f.read())

            # Options:
            #   - The dict size can be whatever we want it to be.
            #   - The dict_id is a built in id for the dict, we should rev it every time we update the dict.
            #   - Threads defines how many threads will be used when trying to optimize the function prams.
            #   - Steps defines how many steps we will take when optimize the function prams.
            self.Logger.info(f"ZStandard Dict starting training on {len(inputSamples)} samples.")
            dataDict = zstd.train_dictionary(dict_size=112640, samples=inputSamples, dict_id=1, threads=-1, steps=100)

            # Done!
            # The k and d values are only used for the training process.
            self.Logger.info(f"ZStandard Dict Training done! Data Length:{len(dataDict.as_bytes())} K: {dataDict.k} D: {dataDict.d} DictID: {dataDict.dict_id()}")

            # Base64 encode the output
            if input("Do you want to replace the base64 encoded data file on disk? (y/n) ") == "y":
                with open(ZStandardDictionary._OutputDictFilePath, "wb") as f:
                    en = base64.b64encode(dataDict.as_bytes())
                    self.Logger.info(f"test {len(en)} {en}")
                    f.write(en)

        except Exception as e:
            self.Logger.error(f"ZStandardDictionary failed to BuildTrainingDict. Error: {e}")


    # This is the pre-made dict version 1.
    # This dict must match what's used in the service, see the service notes for more info.
    #pylint: disable=line-too-long
    c_Dict1 = "N6Qw7AEAAABAEKAytQ3DMMw5iqIoiqIoiqI4GBpTM9tdNtoufs1Mdi2bdvyO58Xn+mQi/a1JefMkKSkpqVSytFkyPKOPo0ddDoMBAAwQjIbjEZFQLNhn6QMEQNGNSIWPKSOBOJYkOYyiIISQMcYQQgwxxoiMjAwGAAAAtBSri9QpZAgAAAAAAAAAAAAAAAEAAAAEAAAACAAAAGdpbiBmYWlsZWQiKSx0ZXh0OmdldHRleHQoIlVzZXIgdW5rbm93biwgd3JvbmcgcGFzc3dvcmQgb3IgYWNjb3VudCBkZWFjdGl2YXRlZCIpLHR5cGU6ImVycm9yIn0pO2JyZWFrO319fSk7fTt2YXIgX2xvZ291dEluUHJvZ3Jlc3M9ZmFsc2U7c2VsZi5sb2dvdXQ9ZnVuY3Rpb24odGFyZ2V0LGV2ZW50KXtpZighc2VsZi5sb2dvdXRTdXBwb3J0ZWQoKSl7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7cmV0dXJuO30KaWYoX2xvZ291dEluUHJvZ3Jlc3MpcmV0dXJuO19sb2dvdXRJblByb2dyZXNzPXRydWU7cmV0dXJuIE9jdG9QcmludC5icm93c2VyLmxvZ291dCgpLmRvbmUoZnVuY3Rpb24ocmVzcG9uc2Upe25ldyBQTm90aWZ5KHt0aXRsZTpnZXR0ZXh0KCJMb2dvdXQgc3VjY2Vzc2Z1bCIpLHRleHQ6Z2V0dGV4dCgiWW91IGFyZSBub3cgbG9nZ2VkIG91dCIpLHR5cGU6InN1Y2Nlc3MifSk7c2VsZi5mcm9tUmVzcG9uc2UocmVzcG9uc2UpO30pLmZhaWwoZnVuY3Rpb24oZXJyb3Ipe2lmKGVycm9yJiZlcnJvci5zdGF0dXM9PT00MDMpe3NlbGYuZnJvbVJlc3BvbnNlKGZhbHNlKTt9fSkuYWx3YXlzKGZ1bmN0aW9uKCl7X2xvZ291dEluUHJvZ3Jlc3M9ZmFsc2U7fSk7fTtzZWxmLnByZXBhcmVMb2dpbj1mdW5jdGlvbihkYXRhLGV2ZW50KXtpZihldmVudCYmZXZlbnQucHJldmVudERlZmF1bHQpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7fQpzZWxmLmxvZ2luKCk7fTtzZWxmLm9uRGF0YVVwZGF0ZXJSZWF1dGhSZXF1aXJlZD1mdW5jdGlvbihyZWFzb24pe2lmKHJlYXNvbj09PSJsb2dvdXQifHxyZWFzb249PT0ic3RhbGUifG94LXNoYWRvdzpub25lfS5idG4tbGlua3tib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzA4Yzstd2Via2l0LWJvcmRlci1yYWRpdXM6MDstbW96LWJvcmRlci1yYWRpdXM6MDtib3JkZXItcmFkaXVzOjB9LmJ0bi1saW5rOmZvY3VzLC5idG4tbGluazpob3Zlcntjb2xvcjojMDA1NTgwO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXJ7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX0uY2xlYXJmaXh7Knpvb206MX0uY2xlYXJmaXg6YWZ0ZXIsLmNsZWFyZml4OmJlZm9yZXtkaXNwbGF5OnRhYmxlO2NvbnRlbnQ6IiI7bGluZS1oZWlnaHQ6MH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aH0uaGlkZS10ZXh0e2ZvbnQ6MC8wIGE7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5pbnB1dC1ibG9jay1sZXZlbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uYWN0aW9uY29sLC5ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS5hY3Rpb25jb2wgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMDAwfS5hY3Rpb25jb2wgYS5kaXNhYmxlZHtjb2xvcjojY2NjO2N1cnNvcjpkZWZhdWx0fSNuYXZiYXIgLm5hdmJhci1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOiNlYmViZWI7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjY2NjKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDAgMCwwIDEwMCUsZnJvbSgjZmZmKSx0bygjY2NjKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjY2NjKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjY2NjKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2ZmZiwjY2NjKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZjY2NjY2MnLCBHcmFkaWVudFR5cGU9MCl9I25hdmJhciAubmF2YmFyLWlubmVyIC5icmFuZCwjbmF2YmFyIC5uYXZiYXItaW5uZXIgLm5hdj5saT5he3RleHQtc2hhZG93OjAgMXB4IDAgI2NjYztjb2xvcjojMzMzfSNuYXZiYXIgLm5hdmJhci1pbm5lciAuYnJhbmQgLmNhcmV0LCNuYXZiYXIgLm5hdmJhci1pbm5lciAubmF2PmxpPmEgLmNhcmV0e2JvcmRlci1ib3R0b20tY29sb3I6IzkzOTM5Mztib3JkZXItdG9wLWNvbG9yOiM5MzkzOTN9I25hdmJhciAubmF2YmFyLWlubmVyIC5icmFuZDpmb2N1cyAuY2FyODIgWTE1Mi44MzkgRS4wMDc3NgpHMSBYMTA0Ljc4NiBZMTUzLjEyNCBFLjAwNzQzCkcxIFgxMDQuNjYzIFkxNTMuMzgxIEUuMDA3NDIKRzEgWDEwNC4zMjggWTE1My44MDEgRS4wMTQKRzEgWDEwMy45MTYgWTE1NC4yNCBFLjAxNTY5CkcxIFgxMDMuNDE2IFkxNTQuNjcyIEUuMDE3MjIKRzEgWDEwMi42NSBZMTU1LjIwNyBFLjAyNDM0CkcxIFgxMDEuMTUxIFkxNTYuMTA5IEUuMDQ1NTgKRzEgWDEwMC43ODEgWTE1Ni4zODEgRS4wMTE5NwpHMSBYMTAwLjMyNyBZMTU2LjYyMyBFLjAxMzQKRzEgWDk5Ljg2NyBZMTU2LjY3NiBFLjAxMjA2CkcxIFg5OS41MDYgWTE1Ni44NSBFLjAxMDQ0CkcxIFg5OS4wODUgWTE1Ny4wMDcgRS4wMTE3MQpHMSBYOTguMDI0IFkxNTcuMjQzIEUuMDI4MzIKRzEgWDk3LjIwOCBZMTU3LjMxIEUuMDIxMzMKRzEgWDk2LjIwNyBZMTU3LjMyMiBFLjAyNjA4CkcxIFg5NC44NzYgWTE1Ny4yNCBFLjAzNDc1CkcxIFg5NC4zODggWTE1Ny4wOTQgRS4wMTMyNwpHMSBYOTMuODMgWTE1Ny4wMDEgRS4wMTQ3NApHMSBYOTMuNDE2IFkxNTYuODU0IEUuMDExNDUKRzEgWDkzLjA4MyBZMTU2Ljc2MiBFLjAwOQpHMSBYOTIuOTA1IFkxNTYuNjQyIEUuMDA1NTkKRzEgWDkyLjYzMiBZMTU2LjU0NyBFLjAwNzUzCkcxIFg5Mi40MzMgWTE1Ni4zNDQgRS4wMDc0MQpHMSBYOTIuMzQ0IFkxNTYuMDY2IEUuMDA3NjEKRzEgWDkyLjM3MiBZMTU1LjY0NyBFLjAxMDk0CkcxIFg5Mi4wOTkgWTE1NS41NzQgRS4wMDczNgpHMSBYOTEuOTA3IFkxNTUuNDIgRS4wMDY0MQpHMSBYOTEuODExIFkxNTUuMzA2IEUuMDAzODgKRzEgWDkxLjI2NSBZMTU1LjI4NCBFLjAxNDI0CkcxIFg5MC45OTggWTE1NS4xNTggRS4wMDc2OQpHMSBYOTAuNzc0IFkxNTQuOTYxIEUuMDA3NzcKRzEgWDkwLjM1MyBZMTU0LjgyNyBFLjAxMTUxCkcxIFg4OS45IFkxNTQuNTk5IEUuMDEzMjEKRzEgWDg5LjY3NSBZMTU0LjQzMiBFLjAwNzMKRzEgWDg5LjUzNiBZMTU0LjE0MyBFLjAwODM2CkcxIFg4OS41NTggWTE1My44MTcgRS4wMDg1MQpHMSBYODkuNjQzIFkxNTMuNTggRS4wMDY1NgpHMSBYODkuODY2IFkxNTMuMzI4IEUuMDA4NzcKRzEgWDkwLjEzNyBZMTUzLjIwOCBFLjAwNzcyCkcxIFg5MC40MDkgWTE1My4yMiBFLjAwNzA5CkcxIFg5MC44NjkgWTE1My40MjUgRS4wMTMxMgpHMSBYOTEuMDk0IFkxNTMuNTU5IEUuMDA2ODIKRzEgWDkxLjM4NyBZMTUzLjY0NiBFLjAwNzk2CkcxIFg5MS41MzUgWTE1My43NTkgRS4wMDQ4NQpHMSBYOTEuNzIzIFkxNTMuNzkgRS4wMDQ5NgpHMSBYOTEuOTE5IFkxNTMuODk2IEUuMDA1ODEKRzEgWDkyLjI2MyBZMTU0LjEyNCBFLjAxMDc1CkcxIFg5Mi41NTIgWTE1NC4xNDQgRS4wMDc1NQpHMSBYOTIuOTIzIFkxNTQuMjM4IEUuMDA5OTcKRzEgWDkzLjAwMSBZMTU0LjM0NSBFLjAwMzQ1CkcxIFg5My41MzIgWTE1NC4zOTMgRS4wMTM4OQpHMSBYOTMuODM3IFkxNTQuNTQ2IEUuMDA4ODkKRzEgWDk0LjI2NCBZMTU0LjU4NiBFLjAxMTE3CkcxIFg5NC41MDQgWTE1NC43MjkgRS4wMDcyOApHMSBYOTUuMjN2YXIgY29uZmlnPXRoaXMuY29uZmlnO2lmKHRoaXMudHJhY2tzJiZjb25maWcuYXV0b1N0YXJ0TG9hZCl7dGhpcy5zdGFydExvYWQoY29uZmlnLnN0YXJ0UG9zaXRpb24pO319O19wcm90by5vbk1lZGlhRGV0YWNoaW5nPWZ1bmN0aW9uIG9uTWVkaWFEZXRhY2hpbmcoKXt2YXIgbWVkaWE9dGhpcy5tZWRpYTtpZihtZWRpYSYmbWVkaWEuZW5kZWQpe2xvZ2dlclsibG9nZ2VyIl0ubG9nKCdNU0UgZGV0YWNoaW5nIGFuZCB2aWRlbyBlbmRlZCwgcmVzZXQgc3RhcnRQb3NpdGlvbicpO3RoaXMuc3RhcnRQb3NpdGlvbj10aGlzLmxhc3RDdXJyZW50VGltZT0wO30KaWYobWVkaWEpe21lZGlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLHRoaXMub252c2Vla2luZyk7bWVkaWEucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kZWQnLHRoaXMub252ZW5kZWQpO3RoaXMub252c2Vla2luZz10aGlzLm9udnNlZWtlZD10aGlzLm9udmVuZGVkPW51bGw7fQp0aGlzLm1lZGlhPXRoaXMubWVkaWFCdWZmZXI9dGhpcy52aWRlb0J1ZmZlcj1udWxsO3RoaXMubG9hZGVkbWV0YWRhdGE9ZmFsc2U7dGhpcy5mcmFnbWVudFRyYWNrZXIucmVtb3ZlQWxsRnJhZ21lbnRzKCk7dGhpcy5zdG9wTG9hZCgpO307X3Byb3RvLm9uQXVkaW9UcmFja3NVcGRhdGVkPWZ1bmN0aW9uIG9uQXVkaW9UcmFja3NVcGRhdGVkKGRhdGEpe2xvZ2dlclsibG9nZ2VyIl0ubG9nKCdhdWRpbyB0cmFja3MgdXBkYXRlZCcpO3RoaXMudHJhY2tzPWRhdGEuYXVkaW9UcmFja3M7fTtfcHJvdG8ub25BdWRpb1RyYWNrU3dpdGNoaW5nPWZ1bmN0aW9uIG9uQXVkaW9UcmFja1N3aXRjaGluZyhkYXRhKXt2YXIgYWx0QXVkaW89ISFkYXRhLnVybDt0aGlzLnRyYWNrSWQ9ZGF0YS5pZDt0aGlzLmZyYWdDdXJyZW50PW51bGw7dGhpcy5zdGF0ZT1TdGF0ZS5QQVVTRUQ7dGhpcy53YWl0aW5nRnJhZ21lbnQ9bnVsbDtpZighYWx0QXVkaW8pe2lmKHRoaXMuZGVtdXhlcil7dGhpcy5kZW11eGVyLmRlc3Ryb3koKTt0aGlzLmRlbXV4ZXI9bnVsbDt9fWVsc2V7dGhpcy5zZXRJbnRlcnZhbChhdWRpb19zdHJlYW1fY29udHJvbGxlcl9USUNLX0lOVEVSVkFMKTt9CmlmKGFsdEF1ZGlvKXt0aGlzLmF1ZGlvU3dpdGNoPXRydWU7dGhpcy5zdGF0ZT1TdGF0ZS5JRExFO30KdGhpcy50aWNrKCk7fTtfcHJvdG8ub25BdWRpb1RyYWNrTG9hZGVkPWZ1bmN0aW9uIG9uQXVkaW9UcmFja0xvYWRlZChkYXRhKXt2YXIgbmV3RGV0YWlscz1kYXRhLmRldGFpbHMsdHJhY2tJZD1kYXRhLmlkLHRyYWNrPXRoaXMudHJhY2tzW3RyYWNrSWRdLGR1cmF0aW9uPW5ld0RldGFpbHMudG90YWxkdXJhdGlvbixzbGlkaW5nPTA7bG9nZ2VyWyJsb2dnZXIiXS5sb2coInRyYWNrICIrdHJhY2tJZCsiIGxvYWRlZCBbIituZXdEZXRhaWxzLnN0YXJ0U04rIiwiK25ld0RldGFpbHMuZW5kU04rIl0sZHVyYXRpb246IitkdXJhdGlvbik7aWYobmV3RGV0YWlscy5saXZlKXt2YXIgY3VyRGV0YWlscz10cmFjay5kZXRhaWxzO2lmKGN1ckRldGFpbHMmJm5ld0RldGFpbHMuZnJhZ21lbnRzLmxlbmd0aD4wKVx1MDY0NiIsTToiXHUwNjI3XHUwNmNjXHUwNmE5IFx1MDY0NVx1MDYyN1x1MDZjMSIsTU06IiVkIFx1MDY0NVx1MDYyN1x1MDZjMSIseToiXHUwNjI3XHUwNmNjXHUwNmE5IFx1MDYzM1x1MDYyN1x1MDY0NCIseXk6IiVkIFx1MDYzM1x1MDYyN1x1MDY0NCJ9LHByZXBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1x1MDYwYy9nLCIsIil9LHBvc3Rmb3JtYXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvLC9nLCJcdTA2MGMiKX0sd2Vlazp7ZG93OjEsZG95OjR9fSksTS5kZWZpbmVMb2NhbGUoInV6LWxhdG4iLHttb250aHM6IllhbnZhcl9GZXZyYWxfTWFydF9BcHJlbF9NYXlfSXl1bl9JeXVsX0F2Z3VzdF9TZW50YWJyX09rdGFicl9Ob3lhYnJfRGVrYWJyIi5zcGxpdCgiXyIpLG1vbnRoc1Nob3J0OiJZYW5fRmV2X01hcl9BcHJfTWF5X0l5dW5fSXl1bF9BdmdfU2VuX09rdF9Ob3lfRGVrIi5zcGxpdCgiXyIpLHdlZWtkYXlzOiJZYWtzaGFuYmFfRHVzaGFuYmFfU2VzaGFuYmFfQ2hvcnNoYW5iYV9QYXlzaGFuYmFfSnVtYV9TaGFuYmEiLnNwbGl0KCJfIiksd2Vla2RheXNTaG9ydDoiWWFrX0R1c2hfU2VzaF9DaG9yX1BheV9KdW1fU2hhbiIuc3BsaXQoIl8iKSx3ZWVrZGF5c01pbjoiWWFfRHVfU2VfQ2hvX1BhX0p1X1NoYSIuc3BsaXQoIl8iKSxsb25nRGF0ZUZvcm1hdDp7TFQ6IkhIOm1tIixMVFM6IkhIOm1tOnNzIixMOiJERC9NTS9ZWVlZIixMTDoiRCBNTU1NIFlZWVkiLExMTDoiRCBNTU1NIFlZWVkgSEg6bW0iLExMTEw6IkQgTU1NTSBZWVlZLCBkZGRkIEhIOm1tIn0sY2FsZW5kYXI6e3NhbWVEYXk6IltCdWd1biBzb2F0XSBMVCBbZGFdIixuZXh0RGF5OiJbRXJ0YWdhXSBMVCBbZGFdIixuZXh0V2VlazoiZGRkZCBba3VuaSBzb2F0XSBMVCBbZGFdIixsYXN0RGF5OiJbS2VjaGEgc29hdF0gTFQgW2RhXSIsbGFzdFdlZWs6IltPJ3RnYW5dIGRkZGQgW2t1bmkgc29hdF0gTFQgW2RhXSIsc2FtZUVsc2U6IkwifSxyZWxhdGl2ZVRpbWU6e2Z1dHVyZToiWWFxaW4gJXMgaWNoaWRhIixwYXN0OiJCaXIgbmVjaGEgJXMgb2xkaW4iLHM6InNvbml5YSIsc3M6IiVkIHNvbml5YSIsbToiYmlyIGRhcWlxYSIsbW06IiVkIGRhcWlxYSIsaDoiYmlyIHNvYXQiLGhoOiIlZCBzb2F0IixkOiJiaXIga3VuIixkZDoiJWQga3VuIixNOiJiaXIgb3kiLE1NOiIlZCBveSIseToiYmlyIHlpbCIseXk6IiVkIHlpbCJ9LHdlZWs6e2RvdzoxLGRveTo3fX0pLE0uZGVmaW5lTG9jYWxlKCJ1eiIse21vbnRoczoiXHUwNDRmXHUwNDNkXHUwNDMyXHUwNDMwXHUwNDQwX1x1MDQ0NFx1MDQzNVx1MDQzMlx1MDQ0MFx1MDQzMFx1MDQzYl9cdTA0M2NcdTA0MzBcdTA0NDBcdTA0NDJfXHUwNDMwXHUwNDNmXHUwNDQwXHUwNDM1XHUwNDNiX1x1MDQzY1x1MDQzMFx1MDQzOV9cdTA0MzhcdTA0NGVcdTA0M2RfXHUwNDM4XHUwNDRlXHUwNDNiX1x1MDQzMFx1MDQzMlx1MDQzM1x1MDQ0M1x1MDQ0MVx1MDQ0Ml9cdTA0NDFcdTA0MzVcdTA0M2RcdTA0NDJcdTA0NGZcdTA0MzFcdTA0NDBfXHUwNDNlXHUwNDNhXHUwMzE5Ljc5fSwgIndsYW4wIjogeyJyeF9ieXRlcyI6IDY5ODQ4NjE0LCAidHhfYnl0ZXMiOiAyNDY1ODIsICJyeF9wYWNrZXRzIjogMjYwNjg2LCAidHhfcGFja2V0cyI6IDIzODksICJyeF9lcnJzIjogMCwgInR4X2VycnMiOiAwLCAicnhfZHJvcCI6IDAsICJ0eF9kcm9wIjogMCwgImJhbmR3aWR0aCI6IDUwOC4zOX0sICJkb2NrZXIwIjogeyJyeF9ieXRlcyI6IDAsICJ0eF9ieXRlcyI6IDAsICJyeF9wYWNrZXRzIjogMCwgInR4X3BhY2tldHMiOiAwLCAicnhfZXJycyI6IDAsICJ0eF9lcnJzIjogMCwgInJ4X2Ryb3AiOiAwLCAidHhfZHJvcCI6IDAsICJiYW5kd2lkdGgiOiAwLjB9LCAiYzA5NWQ2YjRlM2UxIjogeyJyeF9ieXRlcyI6IDEzMTc1OCwgInR4X2J5dGVzIjogMTQ4ODY0OSwgInJ4X3BhY2tldHMiOiAxMTk3LCAidHhfcGFja2V0cyI6IDE0NjgsICJyeF9lcnJzIjogMCwgInR4X2VycnMiOiAwLCAicnhfZHJvcCI6IDAsICJ0eF9kcm9wIjogMCwgImJhbmR3aWR0aCI6IDAuMH0sICJ2ZXRoNjQyYjRlOSI6IHsicnhfYnl0ZXMiOiAxNDg1MTYsICJ0eF9ieXRlcyI6IDIzODE1NzEsICJyeF9wYWNrZXRzIjogMTE5NywgInR4X3BhY2tldHMiOiA0MTIzLCAicnhfZXJycyI6IDAsICJ0eF9lcnJzIjogMCwgInJ4X2Ryb3AiOiAwLCAidHhfZHJvcCI6IDAsICJiYW5kd2lkdGgiOiAwLjB9fSwgInN5c3RlbV9jcHVfdXNhZ2UiOiB7ImNwdSI6IDMxLjIyLCAiY3B1MCI6IDguNTEsICJjcHUxIjogNC4wNCwgImNwdTIiOiA5OS4wLCAiY3B1MyI6IDEwLjg5fSwgInN5c3RlbV9tZW1vcnkiOiB7InRvdGFsIjogNzgxOTk0OCwgImF2YWlsYWJsZSI6IDYzODc4MTIsICJ1c2VkIjogMTQzMjEzNn0sICJ3ZWJzb2NrZXRfY29ubmVjdGlvbnMiOiAzfV19PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wIiAvPgogICAgICAgIDx0aXRsZT5NYWluc2FpbDwvdGl0bGU+CiAgICAgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik1haW5zYWlsIGlzIHRoZSBwb3B1bGFyIHdlYiBpbnRlcmZhY2UgZm9yIEtsaXBwZXIuIiAvPgoKICAgICAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgc2l6ZXM9IjMyeDMyIiBocmVmPSIvaW1nL2ljb25zL2Zhdmljb24tMzJ4MzIucG5nIiAvPgogICAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9pbWcvaWNvbnMvZmF2aWNvbi0xNngxNi5wbmciIC8+CiAgICAgICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMxMjEyMTIiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0ibW9iaWxlLXdlYi1hcHAtY2FwYWJsZSIgY29udGVudD0ieWVzIiAvPgoxMTEKRzEgWDE2MC43MTUgWTQ1LjY3MiBFLjM2MTc0CkcxIFgxNjEuMjA3IFk0NS43NzEgRS4wMTMwOApHMSBYMTUxLjE4MyBZNTUuNzk1IEUuMzY5MzcKRzEgWDE1MS4zOTUgWTU2LjE3MyBFLjAxMTI5CkcxIFgxNjEuMzAyIFk0Ni4yNjYgRS4zNjUwNgpHMSBYMTYxLjQ3NCBZNDYuNjg2IEUuMDExODMKRzEgWDE1MS40NzkgWTU2LjY4MSBFLjM2ODMKRzEgWDE1MS4zNzkgWTU2Ljc1NSBFLjAwMzI0CjtXSURUSDowLjQxMTA5NQpHMSBYMTUxLjI3OSBZNTYuODI4IEUuMDAyOTMKO1dJRFRIOjAuMzcyMTkKRzEgWDE1MS4xMjYgWTU3LjI2NiBFLjAwOTg0CjtXSURUSDowLjQ0OTk5OQpHMSBYMTUxLjM0MSBZNTcuNDA5IEUuMDA2NzMKRzEgWDE2MS42ODQgWTQ3LjA2NyBFLjM4MTEKRzEgWDE2MS45MTMgWTQ3LjQyOSBFLjAxMTE2CkcxIFgxNTEuNTM2IFk1Ny44MDYgRS4zODIzOApHMSBYMTUxLjczNiBZNTguMTk3IEUuMDExNDQKRzEgWDE2Mi4xNTIgWTQ3Ljc4IEUuMzgzODMKRzEgWDE2Mi40MzMgWTQ4LjA5IEUuMDEwOQpHMSBYMTUxLjk0MiBZNTguNTgxIEUuMzg2NTgKRzEgWDE1Mi4xNDggWTU4Ljk2NiBFLjAxMTM4CkcxIFgxNjIuNzE5IFk0OC4zOTUgRS4zODk1MgpHMSBYMTYzLjAyOCBZNDguNjc3IEUuMDEwOQpHMSBYMTUyLjM0OSBZNTkuMzU1IEUuMzkzNDkKRzEgWDE1Mi40OTEgWTU5LjgwNCBFLjAxMjI3CkcxIFgxNjMuNDE1IFk0OC44ODEgRS40MDI1MQpHMSBYMTYzLjg4NSBZNDkuMDAyIEUuMDEyNjUKRzEgWDE1Mi42NTIgWTYwLjIzNCBFLjQxMzkKRzEgWDE1Mi44MSBZNjAuNjY3IEUuMDEyMDEKRzEgWDE1OS4wNTMgWTU0LjQyNCBFLjIzMDA0CkcxIFgxNTkuMTUyIFk1NC4yOTEgRS4wMDQzMgo7V0lEVEg6MC40MTEwOTUKRzEgWDE1OS4yNSBZNTQuMTU5IEUuMDAzODgKO1dJRFRIOjAuMzcyMTkKRzEgWDE1OS4yMDkgWTU0LjE3IEUuMDAwOQpHMSBYMTU5LjE5IFk1NC4wOTkgRS4wMDE1NgpHMSBYMTU5LjI2MSBZNTQuMTE4IEUuMDAxNTYKRzEgWDE1OS4wNjggWTU1IEYxMDgwMAo7V0lEVEg6MC40NDk5OTkKRzEgRjQ4MDAKRzEgWDE1Mi45NTEgWTYxLjExNyBFLjIyNTQKRzEgWDE1My4xMDQgWTYxLjU1NSBFLjAxMjA5CkcxIFgxNTkuMjAxIFk1NS40NTggRS4yMjQ2NgpHMSBYMTU5LjQyMiBZNTUuODI4IEUuMDExMjMKRzEgWDE1My4yMjUgWTYyLjAyNSBFLjIyODM1CkcxIFgxNTMuMjgxIFk2Mi41NiBFLjAxNDAyCkcxIFgxNTkuNjM3IFk1Ni4yMDQgRS4yMzQyMQpHMSBYMTU5Ljg0MiBZNTYuNTkgRS4wMTEzOQpHMSBYMTUzLjM1NCBZNjMuMDc4IEUuMjM5MDcKRzEgWDE1My4zODQgWTYzLjYzOSBFLjAxNDY0CkcxIFgxNjAuMDI5IFk1Ni45OTMgRS4yNDQ4OApHMSBYMTYwLjIyOSBZNTcuMzg1IEUuMDExNDcKRzEgWDE1My4zODcgWTY0LjIyNyBFLjI1MjEyCkcxIFgxNTMuNDMxIFk2NC43NzQgRS4wMTQzCkcxIFgxNjAuMzkgWTU3LjgxNSBFLjI1NjQzCkcxIFgxNjAuNTY1IFk1OC4yMyBFLjAxMTc0CkcxIFgxNTMuMzI3IFk2NS40NjggRS4yNjY3MQpHMSBYMTUzLjI3MyBZNjUuNjA0IDMKRzEgWDc1LjUzMyBZMTY2LjU5NyBFLjAxMDc3CkcxIFg3NC45MTIgWTE2Ni40NDMgRS4wMTY2NwpHMSBYNzQuNjU1IFkxNjYuMjUyIEUuMDA4MzQKRzEgWDc0LjQzOCBZMTY2LjE5OSBFLjAwNTgyCkcxIFg3My45NTIgWTE2NS45ODUgRS4wMTM4NApHMSBYNzMuNzg5IFkxNjUuODkzIEUuMDA0ODgKRzEgWDczLjE1MSBZMTY1LjcyNiBFLjAxNzE4CkcxIFg3Mi42MDMgWTE2NS42MTggRS4wMTQ1NQpHMSBYNzIuMjc2IFkxNjUuNDM3IEUuMDA5NzQKRzEgWDcxLjM4NyBZMTY1LjE1MyBFLjAyNDMyCkcxIFg3MS4xMzcgWTE2NS4wMTEgRS4wMDc0OQpHMSBYNzAuNDk0IFkxNjQuODc1IEUuMDE3MTIKRzEgWDcwLjA4OSBZMTY0LjY3OSBFLjAxMTcyCkcxIFg2OS45NyBZMTY0LjQyOSBFLjAwNzIxCkcxIFg2OS44OTkgWTE2My44MjMgRS4wMTU5CkcxIFg3MC4wMDYgWTE2Mi45NzYgRS4wMjIyNApHMSBYNzAuMTg1IFkxNjEuOTU4IEUuMDI2OTMKRzEgWDcwLjM4OSBZMTYxLjMyOCBFLjAxNzI1CkcxIFg3MC42ODIgWTE2MS4wMTYgRS4wMTExNQpHMSBYNzEuMDM5IFkxNjAuOTE2IEUuMDA5NjYKRzEgWDcxLjExMyBZMTYwLjk0MiBFLjAwMjA0CkcxIFg3MS4xOTggWTE2MS4wMzUgRS4wMDMyOApHMSBYNzEuMzc0IFkxNjEuMzc2IEUuMDEKRzEgWDcxLjYyMiBZMTYxLjczNiBFLjAxMTM5CkcxIFg3MS44NDEgWTE2MS4yMTkgRS4wMTQ2MwpHMSBYNzIuMDA4IFkxNjAuNTY1IEUuMDE3NTkKRzEgWDcyLjI0NSBZMTYwLjEyOCBFLjAxMjk1CkcxIFg3Mi40MyBZMTU5LjcwOCBFLjAxMTk2CkcxIFg3Mi40NDYgWTE1OS4yNTQgRS4wMTE4NApHMSBYNzIuMzM4IFkxNTkuMDI4IEUuMDA2NTMKRzEgWDcyLjI3MyBZMTU4LjUwNCBFLjAxMzc2CkcxIFg3Mi4yMTQgWTE1OC4zNzggRS4wMDM2MwpHMSBYNzIuMTU4IFkxNTguMTM0IEUuMDA2NTIKRzEgWDcxLjk5MiBZMTU3LjY4NiBFLjAxMjQ1CkcxIFg3MS44OCBZMTU3LjIwOCBFLjAxMjc5CkcxIFg3MS43ODMgWTE1Ny4wMzYgRS4wMDUxNQpHMSBYNzEuNzI3IFkxNTYuNjY4IEUuMDA5NwpHMSBYNzEuNTgxIFkxNTYuMzY1IEUuMDA4NzYKRzEgWDcxLjQxMiBZMTU1Ljg2NCBFLjAxMzc4CkcxIFg3MS4xNjcgWTE1NS4zNCBFLjAxNTA3CkcxIFg3MC45NTkgWTE1NC44MjMgRS4wMTQ1MgpHMSBYNzAuOTQ4IFkxNTQuNjgxIEUuMDAzNzEKRzEgWDcwLjYyMiBZMTU0LjI1OCBFLjAxMzkxCkcxIFg3MC40ODQgWTE1My44OTcgRS4wMTAwNwpHMSBYNzAuNTU5IFkxNTMuNjY2IEUuMDA2MzMKRzEgWDcwLjY0MyBZMTUzLjUyNyBFLjAwNDIzCkcxIFg2OS45NTcgWTE1My4xNDYgRS4wMjA0NQpHMSBYNjkuNzY0IFkxNTIuODIgRS4wMDk4NwpHMSBYNjkuNzk5IFkxNTIuNjg0IEUuMDAzNjYKRzEgWDY5Ljg4NyBZMTUyLjU0OCBFLjAwNDIyCkcxIFg2OS45MjEgWTE1Mi4zNzUgRS4wMDQ1OQpHMSBYNjkuNDkyIFkxNTIuMjQ4IEUuMDExNjYKRzEgWDY5LjA5IFkxNTIuMTYzIEUuMDEwNzEKRzEgWDY4LjgxNiBZMTUxLjg1MSBFLjAxMDgyCkcxIFg2OC44MjMgWTE1MS43MTggRS4wMDM0NwpHMTQ2LjU0MiBFLjAxMTU0CkcxIFgyMjEuMTc5IFkyMDMuOTc5IEUyLjExNjQ2CkcxIFgyMjEuNzcgWTIwMy45NzkgRS4wMTU0CkcxIFgxNjQuMTUyIFkxNDYuMzYxIEUyLjEyMzEzCkcxIFgxNjQuNTQ0IFkxNDYuMTYyIEUuMDExNDUKRzEgWDIyMi4zNjEgWTIwMy45NzkgRTIuMTMwNDYKRzEgWDIyMi45NTIgWTIwMy45NzkgRS4wMTU0CkcxIFgxNjQuOTI3IFkxNDUuOTU0IEUyLjEzODEzCkcxIFgxNjUuMzA5IFkxNDUuNzQ1IEUuMDExMzUKRzEgWDIyMy41NDMgWTIwMy45NzkgRTIuMTQ1ODMKRzEgWDIyNC4xMjIgWTIwNC4wNiBFLjAxNTIzCjtXSURUSDowLjM3MjE5CkcxIFgyMjQuMTMzIFkyMDQuMTAxIEUuMDAwOQpHMSBYMjI0LjA2MSBZMjA0LjEyIEUuMDAxNTgKRzEgWDIyNC4wOCBZMjA0LjA0OSBFLjAwMTU2CjtXSURUSDowLjQxMTA5NQpHMSBYMjI0LjAzIFkyMDMuOTM4IEUuMDAyODgKO1dJRFRIOjAuNDQ5OTk5CkcxIFgyMjMuOTggWTIwMy44MjYgRS4wMDMyCkcxIFgxNjUuNjg0IFkxNDUuNTI5IEUyLjE0ODEzCkcxIFgxNjYuMDM5IFkxNDUuMjk0IEUuMDExMDkKRzEgWDIyMy45OCBZMjAzLjIzNSBFMi4xMzUwMwpHMSBYMjIzLjk4IFkyMDIuNjQ0IEUuMDE1NApHMSBYMTY2LjM4OCBZMTQ1LjA1MiBFMi4xMjIxNwpHMSBYMTY2Ljc0NCBZMTQ0LjgxNyBFLjAxMTExCkcxIFgyMjMuOTggWTIwMi4wNTMgRTIuMTA5MDUKRzEgWDIyMy45OCBZMjAxLjQ2MyBFLjAxNTM3CkcxIFgxNjcuMTQxIFkxNDQuNjIzIEUyLjA5NDQ0CkcxIFgxNjcuNDk4IFkxNDQuMzkgRS4wMTExMQpHMSBYMjIzLjk4IFkyMDAuODcyIEUyLjA4MTI3CkcxIFgyMjMuOTggWTIwMC4yODEgRS4wMTU0CkcxIFgxNjcuODU4IFkxNDQuMTU5IEUyLjA2OApHMSBYMTY4LjIxNCBZMTQzLjkyMyBFLjAxMTEzCkcxIFgyMjMuOTggWTE5OS42OSBFMi4wNTQ5CkcxIFgyMjMuOTggWTE5OS4wOTkgRS4wMTU0CkcxIFgxNjguNTMyIFkxNDMuNjUxIEUyLjA0MzE3CkcxIFgxNjguODUgWTE0My4zNzcgRS4wMTA5NApHMSBYMjIzLjk4IFkxOTguNTA4IEUyLjAzMTQ3CkcxIFgyMjMuOTggWTE5Ny45MTcgRS4wMTU0CkcxIFgxNjkuMTU2IFkxNDMuMDkzIEUyLjAyMDE3CkcxIFgxNjkuNDY1IFkxNDIuODExIEUuMDEwOQpHMSBYMjIzLjk4IFkxOTcuMzI2IEUyLjAwODc5CkcxIFgyMjMuOTggWTE5Ni43MzYgRS4wMTUzNwpHMSBYMTY5Ljc1MSBZMTQyLjUwNiBFMS45OTgyNwpHMSBYMTY5Ljk2NiBZMTQyLjEzIEUuMDExMjkKRzEgWDIyMy45OCBZMTk2LjE0NSBFMS45OTAzNQpHMSBYMjIzLjk4IFkxOTUuNTU0IEUuMDE1NApHMSBYMTcwLjEwOCBZMTQxLjY4MSBFMS45ODUxMQpHMSBYMTcwLjExOCBZMTQxLjEwMSBFLjAxNTExCkcxIFgyMjMuOTggWTE5NC45NjMgRTEuOTg0NzMKRzEgWDIyMy45ODEgWTE5NC4zNzIgRS4wMTU0CkcxIFgxNjkuNjg3IFkxNDAuMDc5IEUyLjAwMDYzCjtXSVBFX1NUQVJUCkcxIEY4NjQwCkcxIFgxNzIuMTM3IFkxNDIuNTI5IEUtLjgKO1dJUEVfRU5ECkcxIFoxLjIgRjcyMApHMSBYMTY4LjcwMyBZMTM4LjUwNCBGMTBkPSJzZXR0aW5nc19wbHVnaW5fZXJyb3J0cmFja2luZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWItcGFuZSAgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5FcnJvciBUcmFja2luZzwvaDM+CgoKPHA+CiAgICBFcnJvciB0cmFja2luZyB3aWxsIGNhdXNlIGFueSBsb2dnZWQgZXhjZXB0aW9ucyBpbiB0aGUgc2VydmVyIGFuZCB0aGUgYnJvd3NlciBpbnRlcmZhY2UgdG8gYmUgc2VudAogICAgdG8gT2N0b1ByaW50J3MgPGEgaHJlZj0iaHR0cHM6Ly9zZW50cnkuaW8vIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVyZXIiPlNlbnRyeSBpbnN0YW5jZTwvYT4uCjwvcD4KPHA+CiAgICBCeSBlbmFibGluZyBpdCB5b3UgaGVscCB0byBnYXRoZXIgZGV0YWlsZWQgaW5mb3JtYXRpb24gb24gdGhlIGNhdXNlIG9mIGJ1Z3Mgb3Igb3RoZXIgaXNzdWVzLiBUaGlzIGlzIGVzcGVjaWFsbHkgdmFsdWFibGUKICAgIG9uIHJlbGVhc2UgY2FuZGlkYXRlcywgd2hpY2ggaXMgd2h5IHRoaXMgcGx1Z2luIHdpbGwgYWxzbyBwcm9tcHQgeW91IHRvIGVuYWJsZSBlcnJvciB0cmFja2luZyBpZiBpdCBkZXRlY3RzIHRoYXQKICAgIHlvdSBhcmUgc3Vic2NyaWJlZCB0byBhbiBSQyByZWxlYXNlIGNoYW5uZWwuCjwvcD4KPHA+CiAgICBQbGVhc2UgZW5hYmxlIHRoaXMgaWYgeW91IGFyZSBydW5uaW5nIGEgcmVsZWFzZSBjYW5kaWRhdGUsIG9yIGFyZSBwcm9tcHRlZCB0byBkbyBzbyB3aGlsZSBkZWJ1Z2dpbmcgYW4gaXNzdWUgdGhhdCB5b3UgcmVwb3J0ZWQuCjwvcD4KCgo8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBvbnN1Ym1pdD0icmV0dXJuIGZhbHNlOyI+CiAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY2hlY2tib3giPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBkYXRhLWJpbmQ9ImNoZWNrZWQ6IHNldHRpbmdzLnBsdWdpbnMuZXJyb3J0cmFja2luZy5lbmFibGVkIj4gRW5hYmxlIGVycm9yIHRyYWNraW5nCiAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj5QbGVhc2UgcmVsb2FkIHRoZSBwYWdlIGFmdGVyIGVuYWJsaW5nL2Rpc2FibGluZyAmIHNhdmluZzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIiB0aXRsZT0iUmFuZG9tIHVuaXF1ZSBpbnN0YW5jZSBJRCI+SW5zdGFuY2UgSUQ8L2xhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgICAgPHNwYW4gc3R5bGU9InBhZGRpbmctdG9wOmxpbmsucm91dGVyLWxpbmstYWN0aXZle2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9bmF2IHVsLm5hdmk+bGk+dWwuY2hpbGQgLm5hdi1saW5rPnNwYW4ubmF2LXRpdGxle3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS51c2VyLXNlbGVjdC1ub25ley13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWFpbnNhaWwtZWRpdG9ye2hlaWdodDo5MiU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dXNlci1zZWxlY3Q6YXV0bzstd2Via2l0LXVzZXItc2VsZWN0OmF1dG99LmVjaGFydHMtdG9vbHRpcHt6LWluZGV4OjUhaW1wb3J0YW50fS50b29sdGlwX19jb250ZW50LW9wYWNpdHkxe29wYWNpdHk6MSFpbXBvcnRhbnR9LnYtYnRuLm1pbndpZHRoLTB7bWluLXdpZHRoOmF1dG8haW1wb3J0YW50fS5taW5IZWlnaHQzNnttaW4taGVpZ2h0OjM2cHh9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyIWltcG9ydGFudH0uaWNvbi1yb3RhdGV7YW5pbWF0aW9uLW5hbWU6c3BpbjthbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0udi10b2FzdHtwYWRkaW5nOjhweCFpbXBvcnRhbnR9QGtleWZyYW1lcyBzcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgtMzYwZGVnKX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpey52LWFwcGxpY2F0aW9uLS1pcy1sdHIgLnVwZGF0ZU1hbmFnZXIudi10aW1lbGluZS0tZGVuc2U6bm90KC52LXRpbWVsaW5lLS1yZXZlcnNlKTpiZWZvcmV7bGVmdDoyM3B4fS51cGRhdGVNYW5hZ2VyIC52LXRpbWVsaW5lLWl0ZW1fX2RpdmlkZXJ7bWluLXdpZHRoOjQ4cHh9LnVwZGF0ZU1hbmFnZXIudi10aW1lbGluZS0tZGVuc2UgLnYtdGltZWxpbmUtaXRlbV9fYm9keXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gNDhweCl9fTpyb290ey0tYXBwLWhlaWdodDogMTAwJX0jY29udGVudHtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udi1idG46bm90KC52LWJ0bi0tb3V0bGluZWQpLnByaW1hcnl7Y29sb3I6dmFyKC0tdi1idG4tdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19LnYtdG9hc3QtLWZhZGUtb3V0e2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QGtleWZyYW1lcyBmYWRlSW5Eb3duezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fS52LXRvYXN0LS1mYWRlLWluLWRvd257dHVybiBNYXRoLnJvdW5kKHIubGVuZ3RoLzIpfTtmdW5jdGlvbiBYXyhyKXtyZXR1cm57c2VyaWVzVHlwZTpyLHJlc2V0OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10LmdldERhdGEoKSxhPXQuZ2V0KCJzYW1wbGluZyIpLG89dC5jb29yZGluYXRlU3lzdGVtLHM9bi5jb3VudCgpO2lmKHM+MTAmJm8udHlwZT09PSJjYXJ0ZXNpYW4yZCImJmEpe3ZhciBsPW8uZ2V0QmFzZUF4aXMoKSx1PW8uZ2V0T3RoZXJBeGlzKGwpLGY9bC5nZXRFeHRlbnQoKSxoPWkuZ2V0RGV2aWNlUGl4ZWxSYXRpbygpLGM9TWF0aC5hYnMoZlsxXS1mWzBdKSooaHx8MSksdj1NYXRoLnJvdW5kKHMvYyk7aWYoaXNGaW5pdGUodikmJnY+MSl7YT09PSJsdHRiIiYmdC5zZXREYXRhKG4ubHR0YkRvd25TYW1wbGUobi5tYXBEaW1lbnNpb24odS5kaW0pLDEvdikpO3ZhciBkPXZvaWQgMDt6KGEpP2Q9Y0lbYV06WChhKSYmKGQ9YSksZCYmdC5zZXREYXRhKG4uZG93blNhbXBsZShuLm1hcERpbWVuc2lvbih1LmRpbSksMS92LGQsZEkpKX19fX19ZnVuY3Rpb24gT1Iocil7ci5yZWdpc3RlckNoYXJ0VmlldyhoSSksci5yZWdpc3RlclNlcmllc01vZGVsKFdMKSxyLnJlZ2lzdGVyTGF5b3V0KHZJKCJsaW5lIiwhMCkpLHIucmVnaXN0ZXJWaXN1YWwoe3Nlcmllc1R5cGU6ImxpbmUiLHJlc2V0OmZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0RGF0YSgpLGk9dC5nZXRNb2RlbCgibGluZVN0eWxlIikuZ2V0TGluZVN0eWxlKCk7aSYmIWkuc3Ryb2tlJiYoaS5zdHJva2U9ZS5nZXRWaXN1YWwoInN0eWxlIikuZmlsbCksZS5zZXRWaXN1YWwoImxlZ2VuZExpbmVTdHlsZSIsaSl9fSksci5yZWdpc3RlclByb2Nlc3NvcihyLlBSSU9SSVRZLlBST0NFU1NPUi5TVEFUSVNUSUMsWF8oImxpbmUiKSl9dmFyIFpfPWZ1bmN0aW9uKHIpe0IodCxyKTtmdW5jdGlvbiB0KCl7dmFyIGU9ciE9PW51bGwmJnIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLnR5cGU9dC50eXBlLGV9cmV0dXJuIHQucHJvdG90eXBlLmdldEluaXRpYWxEYXRhPWZ1bmN0aW9uKGUsaSl7cmV0dXJuIGV2KG51bGwsdGhpcyx7dXNlRW5jb2RlRGVmYXVsdGVyOiEwfSl9LHQucHJvdG90eXBlLmdldE1hcmtlclBvc2l0aW9uPWZ1bmN0aW9uKGUsaSxuKXt2YXIgYT10aGlzLmNvb3JkaW5hdGVTeXN0ZW07aWYoYSYmYS5jbGFtcERhdGEpe3ZhciBvPWEuY2xhbXBEYXRhKGUpLHM9YS5kYXRhVG9Qb2ludChvKTtpZihuKUEoYS5nZXRBeGVzKCksZnVuY3Rpb24oYyx2KXtpZihjLnR5cGU9PT0iY2F0ZWdvcnkiJiZpIT1udWxsKXt2YXIgZD1jLmdldFRpY2tzQ29vcmRzKCksZz1vW3ZdLHA9aVt2XT09PSJ4MSJ8fGlbdl09PT0ieTEiO2lmKHAmJihnKz0xKSxkLmxlbmd0aDwyKXJldHVybjtpZihkLmxlbmd0aD09PTIpe3Nbdl09Yy50b0dsb2JhbENvb3JkKGMuZ2V0RXh0ZW50KClbcD8xOjBdKTtyZXR1cm59Zm9yKHZhciB5PXZvaWQgMCxtPXZvaWQgMCxfPTEsUz0wO1M8ZC5sZW5ndGg7UysrKXt2YXIgYj1kW1NdLmNvb3JkLHc9Uz09PWQubGVuZ3RoLTE/ZFtTLTFdLnRpY2tWYWx1ZSttaWx5OlJvYm90byxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuNTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMDBweDtyaWdodDowO3dpZHRoOmF1dG87bWluLXdpZHRoOjE3MHB4O2hlaWdodDo0MHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTZweCAwIDMycHg7Ym9yZGVyLXJhZGl1czo2cHg7dGV4dC13cmFwOm5vd3JhcH0udi1pbnB1dC0tdGV4dC1yaWdodCBpbnB1dHt0ZXh0LWFsaWduOnJpZ2h0fS52LWlucHV0LS13aWR0aC14LXNtYWxse3dpZHRoOjEwMHB4fS52LWlucHV0LS13aWR0aC1zbWFsbHt3aWR0aDoxNDBweH0udi1pbnB1dC0td2lkdGgtbWVkaXVte3dpZHRoOjE4MHB4fS52LWlucHV0LS14LWRlbnNlIC52LWlucHV0X19zbG90e21pbi1oZWlnaHQ6MjVweCFpbXBvcnRhbnR9LnYtaW5wdXQtLWRlbnNlIC52LWlucHV0X19zbG90e21pbi1oZWlnaHQ6MzZweCFpbXBvcnRhbnR9LnYtaW5wdXQtLXgtZGVuc2UgLnYtc2VsZWN0X19zZWxlY3Rpb25ze3BhZGRpbmc6MnB4IDAhaW1wb3J0YW50fS52LWlucHV0LS14LWRlbnNlIC52LWlucHV0X19hcHBlbmQtaW5uZXJ7bWFyZ2luLXRvcDo2cHghaW1wb3J0YW50fS52LXRleHQtZmllbGQudi10ZXh0LWZpZWxkLS1zb2xvIC52LWlucHV0X19jb250cm9se21pbi1oZWlnaHQ6MTBweH0udi1pbnB1dC0tZGVuc2UgLnYtdGV4dC1maWVsZC0tYm94IC52LWlucHV0X19zbG90LC52LXRleHQtZmllbGQtLW91dGxpbmUgLnYtaW5wdXRfX3Nsb3R7bWluLWhlaWdodDozMHB4IWltcG9ydGFudH0udi1saXN0LWl0ZW0tLXgtZGVuc2UgLnYtbGlzdC1pdGVtX19jb250ZW50LC52LWxpc3QtLXgtZGVuc2UgLnYtbGlzdC1pdGVtIC52LWxpc3QtaXRlbV9fY29udGVudHtwYWRkaW5nOjZweCAwIWltcG9ydGFudH0udi1saXN0LWl0ZW0tLXgtZGVuc2UgLnYtbGlzdC1pdGVtX19hY3Rpb24sLnYtbGlzdC0teC1kZW5zZSAudi1saXN0LWl0ZW0gLnYtbGlzdC1pdGVtX19hY3Rpb257bWFyZ2luOjhweCAwfS52LXRleHQtZmllbGQtb3V0ZXItYnRuIC52LWlucHV0X19jb250cm9se21pbi1oZWlnaHQ6MzZweCFpbXBvcnRhbnR9LnYtdGV4dC1maWVsZC1vdXRlci1idG4gLnYtaW5wdXRfX3ByZXBlbmQtb3V0ZXIsLnYtdGV4dC1maWVsZC1vdXRlci1idG4gLnYtaW5wdXRfX2FwcGVuZC1vdXRlcnttYXJnaW4tdG9wOjAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9LnRoZW1lLS1saWdodC52LWxpc3QtaXRlbS0tZGlzYWJsZWQgLnYtbGlzdC1pdGVtX19pY29uIC52LWljb257Y29sb3I6IzAwMDAwMDYxIWltcG9ydGFudH0udGhlbWUtLWRhcmsudi1saXN0LWl0ZW0tLWRpc2FibGVkIC52LWxpc3QtaXRlbV9faWNvbiAudi1pY29ue2NvbG9yOiNmZmZmZmY4MCFpbXBvcnRhbnR9LnRoZW1lLS1saWdodC52LWRhdGEtdGFibGUubm8taG92ZXI+LnYtZGF0YS10YWJsZV9fd3JhcHBlcj50YWJsZT50Ym9keT50cjpob3Zlcjpub3QoLnYtZGF0YS10YWJsZV9fZXhwYW5kZWRfX2NvbnRlbnQpOm5vdDEuMzcxIEUtLjAxNzA3CkcxIFgxNDguODMgWTEyMS40MDcgRS0uMDE2OTYKRzEgWDE0OS4xMzQgWTEyMS4xOTIgRS0uMDg1OTgKRzEgWDE0OS4zNTYgWTEyMS4xMTIgRS0uMDU0NDkKRzEgWDE0OS40NDggWTEyMS4wMDEgRS0uMDMzMjkKRzEgWDE0OS43ODQgWTEyMC45NzUgRS0uMDc3ODIKRzEgWDE0OS44NDcgWTEyMC44NjQgRS0uMDI5NDcKRzEgWDE1MC41NTMgWTEyMC41OTMgRS0uMTc0NjEKRzEgWDE1MC42NiBZMTIwLjU1OSBFLS4wMjU5MgpHMSBYMTUwLjc3MiBZMTIwLjQ1NyBFLS4wMzQ5OApHMSBYMTUxLjE2NSBZMTIwLjI3NCBFLS4xMDAxCkcxIFgxNTEuNDQ3IFkxMjAuMTY0IEUtLjA2OTg5CkcxIFgxNTEuNjk4IFkxMjAuMDA1IEUtLjA2ODYxCkcxIFgxNTEuNzQxIFkxMTkuOTg3IEUtLjAxMDgxCjtXSVBFX0VORApHMSBaMi4yNSBGNzIwCkcxIFgxNTEuOTIgWTExOS4zNDkgRjEwODAwCkcxIFoxLjg1IEY3MjAKRzEgRS44IEYyMTAwCk0yMDQgUzgwMApHMSBGMTUwMApHMSBYMTUxLjYgWTExOS40OTYgRS4wMDc0NwpHMSBYMTUxLjUxNSBZMTE5LjU3NSBFLjAwMjQ2CkcxIFgxNTEuMjIgWTExOS42MjkgRS4wMDYzNgpHMSBYMTUxLjEwNiBZMTE5Ljc1IEUuMDAzNTIKRzEgWDE1MC44MzkgWTExOS44NDYgRS4wMDYwMgpHMSBYMTUwLjU3MiBZMTE5Ljk4NyBFLjAwNjQKRzEgWDE1MC4zNTggWTEyMC4wNyBFLjAwNDg3CkcxIFgxNTAuMjk2IFkxMjAuMTQ2IEUuMDAyMDgKRzEgWDE0OS42NzUgWTEyMC4zOTQgRS4wMTQxOApHMSBYMTQ5LjQ0NiBZMTIwLjUzMyBFLjAwNTY4CkcxIFgxNDguOTU4IFkxMjAuNzc5IEUuMDExNTkKRzEgWDE0OC43MzYgWTEyMC44NDQgRS4wMDQ5CkcxIFgxNDguNjMgWTEyMC45NzEgRS4wMDM1MQpHMSBYMTQ4LjQwMyBZMTIwLjk4NSBFLjAwNDgyCkcxIFgxNDguNDAzIFkxMjEuMDU4IEUuMDAxNTUKRzEgWDE0Ny45NiBZMTIxLjI0OSBFLjAxMDIzCjtXSURUSDowLjQxODEzMgpHMSBYMTQ3Ljg1NCBZMTIxLjE4IEUuMDAzMDQKO1dJRFRIOjAuNDY0MDc0CkcxIFgxNDcuNzQ4IFkxMjEuMTEgRS4wMDM0Mgo7V0lEVEg6MC41MTAwMTYKRzEgWDE0Ny42NDIgWTEyMS4wNDEgRS4wMDM3Nwo7V0lEVEg6MC41NTU5NTgKRzEgWDE0Ny41MzYgWTEyMC45NzIgRS4wMDQxMwpHMSBYMTQ3LjQ3MSBZMTIxLjAyNiBFLjAwMjc2CjtXSURUSDowLjUxMDAxNgpHMSBYMTQ3LjQwNSBZMTIxLjA4MSBFLjAwMjU2CjtXSURUSDowLjQ2NDA3NApHMSBYMTQ3LjM0IFkxMjEuMTM1IEUuMDAyMjgKO1dJRFRIOjAuNDE4MTMyCkcxIFgxNDcuMjc1IFkxMjEuMTkgRS4wMDIwNQo7V0lEVEg6MC40MTQzMTIKRzEgWDE0Ny4zNDMgWTEyMS4xMjkgRS4wMDIxOAo7V0lEVEg6MC40NTY0MzMKRzEgWDE0Ny40MTEgWTEyMS4wNjcgRS4wMDI0Mwo7V0lEVEg6MC40OTg1NTUKRzEgWDE0Ny40OCBZMTIxLjAwNiBFLjAwMjY4CjtXSURUSDowLjU0MDY3NgpHMSBYMTQ3LjU0OCBZMTIwLjk0NSBFLjAwMjkKRzEgWDE0Ny41MjMgWTEyMC44ODQgRS4wMDIwOQo7V0lEVEg6MC40OTg1NTUKRzEgWDE0Ny40OTcgWTEyLjkzNCBFLjAwODYyCkcxIFgxMDYuNDggWTE4OC4yNTYgRS4wMTc2OApHMSBYMTA2LjU3OSBZMTg3Ljk2NyBFLjAwNzk2CkcxIFgxMDYuNzkxIFkxODcuNTc2IEUuMDExNTkKRzEgWDEwNi40MDcgWTE4Ny4xNTQgRS4wMTQ4NwpHMSBYMTA2LjE4NyBZMTg2LjY0NSBFLjAxNDQ1CkcxIFgxMDYuMTQ3IFkxODYuMzUzIEUuMDA3NjgKRzEgWDEwNi4wOTEgWTE4Ni4yOTYgRS4wMDIwOApHMSBYMTA2LjAwMyBZMTg2LjAwNyBFLjAwNzg3CkcxIFgxMDYuMDEgWTE4NS44MiBFLjAwNDg4CjtXSURUSDowLjQyMjI0NApHMSBYMTA2LjAxOCBZMTg1LjYzMyBFLjAwNDU1CjtXSURUSDowLjM5NDQ4OApHMSBYMTA2LjEwNSBZMTg1LjUxIEUuMDAzNAo7V0lEVEg6MC4zNjg5MjEKRzEgWDEwNi4xOTMgWTE4NS4zODcgRS4wMDMxOAo7V0lEVEg6MC4zNjM0MDUKRzEgWDEwNi41ODMgWTE4NS4wMzEgRS4wMTA5MQo7V0lEVEg6MC4zOTU0MDEKRzEgWDEwNi45NTkgWTE4NC42ODcgRS4wMTE1NAo7V0lEVEg6MC40MTQ0OQpHMSBYMTA3LjM5MSBZMTg0LjI0OCBFLjAxNDY4CjtXSURUSDowLjQ0NDk1MQpHMSBYMTA3Ljc1OSBZMTgzLjg3OCBFLjAxMzQzCjtXSURUSDowLjQ3NTk3OApHMSBYMTA4LjIyNyBZMTgzLjM1IEUuMDE5NTMKO1dJRFRIOjAuNTA0Njc1CkcxIFgxMDguNTk0IFkxODIuOTIzIEUuMDE2NTkKO1dJRFRIOjAuNTE3MDc1CkcxIFgxMDguODU4IFkxODIuNTY4IEUuMDEzMzgKRzEgWDEwOS4wMjcgWTE4Mi4yNTcgRS4wMTA3CjtXSURUSDowLjUxMjc0NgpHMSBYMTA5LjMyNiBZMTgxLjg0NCBFLjAxNTI4CjtXSURUSDowLjUyNDk5MwpHMSBYMTA5LjYwNiBZMTgxLjQ1MiBFLjAxNDgKRzEgWDEwOS42ODQgWTE4MS4yODQgRS4wMDU2OQo7V0lEVEg6MC40OTcyNTkKRzEgWDEwOS43NjIgWTE4MS4xMTYgRS4wMDUzNwo7V0lEVEg6MC40ODUwNzcKRzEgWDExMC4xNTcgWTE4MC41NjkgRS4wMTkwNgpHMSBYMTEwLjI1MSBZMTgwLjM0NSBFLjAwNjg2CjtXSURUSDowLjQ1NzM1OApHMSBYMTEwLjM0NSBZMTgwLjEyMiBFLjAwNjQyCjtXSURUSDowLjQ1MDExOApHMSBYMTEwLjYwNCBZMTc5LjcwMSBFLjAxMjg4CkcxIFgxMTAuNjYzIFkxNzkuNTI2IEUuMDA0ODEKO1dJRFRIOjAuNDIxNzMzCkcxIFgxMTAuNzIzIFkxNzkuMzUyIEUuMDA0NDcKO1dJRFRIOjAuNDA1MzkKRzEgWDExMC44NTggWTE3OS4xNTYgRS4wMDU1NAo7V0lEVEg6MC40NTM2MjMKRzEgWDExMC44NjIgWTE3OS4wNTMgRS4wMDI3MQo7V0lEVEg6MC41MDE4NTUKRzEgWDExMC44NjYgWTE3OC45NSBFLjAwMzAyCjtXSURUSDowLjU1MDA4NwpHMSBYMTEwLjg2OSBZMTc4Ljg0OCBFLjAwMzMKO1dJRFRIOjAuNTk4MzIKRzEgWDExMC44NzMgWTE3OC43NDUgRS4wMDM2NAo7V0lEVEg6MC42NDY1NTIKRzEgWDExMC44NzcgWTE3OC42NDIgRS4wMDM5NQpHMSBYMTEwLjgyMiBZMTc4LjY4OCBFLjAwMjc1CjtXSURUSDowLjYwMjIxOQpHMSBYMTEwLjc2OCBZMTc4LjczMyBFLjAwMjUKO1dJRFRIOjAuNTU3ODg1CkcxIFgxMTAuNzEzIFkxNzguNzc4IEUuMDAyMzMKO1cgWDc0Ljg4NiBZNzQuNTE2IEUuMDIzNQpHMSBYNzUuMDE2IFk3NS41ODkgRS4wMjgxNgpHMSBYNzUuMTYyIFk3Ni4wNTEgRS4wMTI2MgpHMSBYNzUuMjMzIFk3Ni42MDcgRS4wMTQ2CkcxIFg3NS4zODkgWTc3LjIwNCBFLjAxNjA4CkcxIFg3NS40OSBZNzcuODUyIEUuMDE3MDkKRzEgWDc1LjM2OCBZNzguMzE1IEUuMDEyNDgKRzEgWDc1LjMzMiBZNzguNzcgRS4wMTE4OQpHMSBYNzUuMzc3IFk3OS4yMTQgRS4wMTE2MwpHMSBYNzUuNTAyIFk3OS43MjIgRS4wMTM2MwpHMSBYNzUuNTczIFk4MC4yNDggRS4wMTM4MwpHMSBYNzUuNzAzIFk4MC44ODkgRS4wMTcwNApHMSBYNzUuODA2IFk4MS41OTYgRS4wMTg2MgpHMSBYNzUuOTI5IFk4MS44MjUgRS4wMDY3NwpHMSBYNzYuMDQxIFk4Mi4xOTIgRS4wMQpHMSBYNzYuMjA2IFk4Mi41NjcgRS4wMTA2NwpHMSBYNzYuNDUgWTgzLjAyNSBFLjAxMzUyCkcxIFg3Ni41NjQgWTgzLjA0IEUuMDAzCkcxIFg3Ni41NjIgWTgzLjI1MiBFLjAwNTUyCkcxIFg3Ni42NDYgWTgzLjM5MyBFLjAwNDI4CkcxIFg3Ni43ODcgWTgzLjQyOSBFLjAwMzc5CkcxIFg3Ni44NDYgWTgzLjc2MyBFLjAwODg0CkcxIFg3Ni44OTkgWTgzLjg5OCBFLjAwMzc4CkcxIFg3Ni45ODEgWTgzLjkzOCBFLjAwMjM4CkcxIFg3Ni45ODcgWTg0LjA0IEUuMDAyNjYKRzEgWDc3LjE4NSBZODQuMjk3IEUuMDA4NDUKRzEgWDc3LjIwNiBZODQuNjkyIEUuMDEwMzEKRzEgWDc3LjQwNSBZODQuODYgRS4wMDY3OQpHMSBYNzcuMzgxIFk4NS4xOTUgRS4wMDg3NQpHMSBYNzcuNDMzIFk4NS4zNDggRS4wMDQyMQpHMSBYNzcuNTg2IFk4NS40MTcgRS4wMDQzNwpHMSBYNzcuNjA3IFk4NS40OTIgRS4wMDIwMwpHMSBYNzcuNzc4IFk4NS42OSBFLjAwNjgyCkcxIFg3Ny43MzYgWTg1Ljg2NCBFLjAwNDY2CjtXSURUSDowLjQ3NDA4NQpHMSBYNzcuNjc2IFk4Ni4xMzggRS4wMDc3Mwo7V0lEVEg6MC41MTExNzQKRzEgWDc3LjY2OSBZODYuMjk2IEUuMDA0NzIKO1dJRFRIOjAuNTQ4MjYyCkcxIFg3Ny42NjIgWTg2LjQ1NCBFLjAwNTA5CkcxIFg3Ny44MTQgWTg2LjYzNCBFLjAwNzU4CjtXSURUSDowLjUzMzk1NQpHMSBYNzcuNzgxIFk4Ni43MTggRS4wMDI4MgpHMSBYNzcuODE5IFk4Ni44OTEgRS4wMDU1NApHMSBYNzcuOTM3IFk4Ni45NzkgRS4wMDQ2MQpHMSBYNzcuODYxIFk4Ny4wNDYgRS4wMDMxNwpHMSBYNzcuNzc3IFk4Ny4yMDcgRS4wMDU2OApHMSBYNzcuNzg0IFk4Ny41NjYgRS4wMTEyNApHMSBYNzcuNjM5IFk4Ny4yODQgRS4wMDk5MgpHMSBYNzcuNTExIFk4Ny4xMDIgRS4wMDY5Ngo7V0lEVEg6MC41NDgyNjIKRzEgWDc3LjE4MSBZODYuNjc0IEUuMDE3MzkKRzEgWDc3LjE1OCBZODYuNDggRS4wMDYyOQo7V0lEVEg6MC41MzcwNzIKRzEgWDc3LjA2OSBZODYuMjU0IEUuMDA3NjUKO1dJRFRIOjAuNDkzNTM2CkcxIFg3Ni45OCBZODYuMDI4IEUuMDA2OTkKO1dJRFRIOjAuNDQ5OTk5CkcxIFg3Ni44NDYgWTg1Ljk0MiBFLjAwNDE1CkcxIFg3Ni43OTMgWTg1LjgzIEUuMDAzMjMKRzEgWDc2LjY2OSBZODUuNzM1IDY1NApHMSBYMTQ1Ljk1MyBZMTQ4LjEyMyBFLjAxOTQxCjtXSURUSDowLjM3MjE5CkcxIFgxNDYuMzkgWTE0Ny42NDggRS4wMTM2OQo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTQ1Ljk1MyBZMTQ4LjEyMyBFLS4xNDkwMwpHMSBYMTQ1LjIzNyBZMTQ4LjMyOCBFLS4xNzE5NwpHMSBYMTQ2LjUgWTE0Ny4wNjUgRS0uNDEyNDMKRzEgWDE0Ni41MDggWTE0Ni43NzcgRS0uMDY2NTcKO1dJUEVfRU5ECkcxIFoxLjk1IEY3MjAKRzEgWDEzMy41OTMgWTE1MC40NTYgRjEwODAwCkcxIFoxLjU1IEY3MjAKRzEgRS44IEYyMTAwCjtUWVBFOlRvcCBzb2xpZCBpbmZpbGwKO1dJRFRIOjAuNDAwNDg5CkcxIEYyNDAwCkcxIFgxMzIuOTE2IFkxNTEuMTMzIEUuMDIxOTkKRzEgWDEzMi44MDkgWTE1MC43MTkgRjEwODAwCkcxIEYyNDAwCkcxIFgxMzMuNjQ2IFkxNDkuODgyIEUuMDI3MTkKRzEgWDEzMy44NCBZMTQ5LjE2OCBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMi42MiBZMTUwLjM4OCBFLjAzOTYzCkcxIFgxMzIuMzIgWTE1MC4xNjcgRjEwODAwCkcxIEYyNDAwCkcxIFgxMzMuOTA1IFkxNDguNTgyIEUuMDUxNDgKRzEgWDEzMy44NzkgWTE0OC4wODcgRjEwODAwCkcxIEYyNDAwCkcxIFgxMzEuODQzIFkxNTAuMTIzIEUuMDY2MTMKRzEgWDEzMS4yOTkgWTE1MC4xNDYgRjEwODAwCkcxIEYyNDAwCkcxIFgxMzMuNzQxIFkxNDcuNzA0IEUuMDc5MzIKRzEgWDEzMy42MTYgWTE0Ny4zMDggRjEwODAwCkcxIEYyNDAwCkcxIFgxMzAuOTc1IFkxNDkuOTQ5IEUuMDg1NzgKRzEgWDEzMC42OTQgWTE0OS43MSBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMy41MTEgWTE0Ni44OTIgRS4wOTE1MgpHMSBYMTMzLjM1NCBZMTQ2LjUyOCBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMC40MDQgWTE0OS40NzkgRS4wOTU4NApHMSBYMTMwLjEyMiBZMTQ5LjIzOSBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMy4xNDQgWTE0Ni4yMTggRS4wOTgxNApHMSBYMTMyLjk1MyBZMTQ1Ljg4OCBGMTA4MDAKRzEgRjI0MDAKRzEgWDEyOS44NDkgWTE0OC45OTIgRS4xMDA4MgpHMSBYMTI5LjU5OSBZMTQ4LjcyMSBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMi43NDQgWTE0NS41NzYgRS4xMDIxNgpHMSBYMTMyLjUyMyBZMTQ1LjI3NiBGMTA4MDAKRzEgRjI0MDAKRzEgWDEyOS4zNzggWTE0OC40MjIgRS4xMDIxNwpHMSBYMTI5LjE1OCBZMTQ4LjEyIEYxMDgwMApHMSBGMjQwMApHMSBYMTMyLjI5MyBZMTQ0Ljk4NSBFLjEwMTgzCkcxIFgxMzIuMDk0IFkxNDQuNjY0IEYxMDgwMApHMSBGMjQwMApHMSBYMTI4Ljk0NyBZMTQ3LjgxMSBFLjEwMjIyCkcxIFgxMjguNzcyIFkxNDcuNDY1IEYxMDgwMApHMSBGMjQwMApHMSBYMTMxLjg1NiBZMTQ0LjM4IEUuMTAwMTkKRzEgWDEzMS42NiBZMTQ0LjA1NiBGMTA4MDAKRzEgRjI0MDAKRzEgWDEyOC41OTcgWTE0Ny4xMTggRS4wOTk0OApHMSBYMTI4LjQyMiBZMTQ2Ljc3MyBGMTA4MDAKRzEgRjI0MDAKRzEgWDEzMS40NTcgWTE0My43MzggRS4wOTg1OAo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTI5LjAwNyBZMTQ2LjE4OCBFLS44IFgxODIuMTE1IFk2NC42NTIgRS4wMTY2MwpHMSBYMTgyLjEyOSBZNjQuMzc0IEUuMDA3MjUKRzEgWDE4Mi4yMSBZNjQuMDg0IEUuMDA3ODUKRzEgWDE4MS44ODYgWTYzLjY3OCBFLjAxMzUzCkcxIFgxODEuNTkgWTYzLjIyNiBFLjAxNDA4CkcxIFgxODEuNDIzIFk2Mi44NzIgRS4wMTAyCkcxIFgxODEuMzk5IFk2Mi43OCBFLjAwMjQ4CkcxIFgxODAuODA3IFk2Mi40ODcgRS4wMTcyMQpHMSBYMTgwLjczOSBZNjIuNDM3IEUuMDAyMgpHMSBYMTgwLjc0NCBZNjIuOTI1IEUuMDEyNzIKRzEgWDE4MC40NjQgWTYzLjM2NCBFLjAxMzU3CkcxIFgxODAuMDQxIFk2My43ODggRS4wMTU2MQpHMSBYMTc5Ljk3NyBZNjMuODMxIEUuMDAyMDEKRzEgWDE4MC4yODYgWTY0LjI3MSBFLjAxNDAxCkcxIFgxODAuNDUzIFk2NC42MDQgRS4wMDk3MQpHMSBYMTgwLjYwMiBZNjUuMTE2IEUuMDEzODkKRzEgWDE4MC42NDcgWTY1LjE2NSBFLjAwMTczCkcxIFgxODEuMTkxIFk2NS4zOTMgRS4wMTUzNwpHMSBYMTgxLjQwOCBZNjUuNTIzIEUuMDA2NTkKRzEgWDE4MS41ODggWTY1LjcgRS4wMDY1OAo7V0lEVEg6MC40MTQzNDkKRzEgWDE4MS43NjcgWTY1Ljg3NyBFLjAwNgo7V0lEVEg6MC4zNzg2OTkKRzEgWDE4Mi4xMzcgWTY2LjM0IEUuMDEyODEKO1dJRFRIOjAuMzg0NDcxCkcxIFgxODIuMzE0IFk2Ni41NzEgRS4wMDYzOQo7V0lEVEg6MC40MTEyNTcKRzEgWDE4Mi40OSBZNjYuODAyIEUuMDA2ODcKO1dJRFRIOjAuNDQ5OTk5CkcxIFgxODIuODM1IFk2Ny4yNzYgRS4wMTUyOApHMSBYMTgzLjExIFk2Ny43NzEgRS4wMTQ3NQpHMSBYMTgzLjI3IFk2OC4xNDEgRS4wMTA1CkcxIFgxODMuNDAxIFk2OC43NTkgRS4wMTY0NgpHMSBYMTgzLjQgWTY5LjI4NCBFLjAxMzY4CkcxIFgxODMuMzgzIFk2OS40NCBFLjAwNDA5CkcxIFgxODMuODU3IFk2OS41NjkgRS4wMTI4CkcxIFgxODQuMzE0IFk2OS43ODMgRS4wMTMxNQo7V0lEVEg6MC40NTI4MDMKRzEgWDE4NC43MjUgWTcwLjA5IEUuMDEzNDYKO1dJRFRIOjAuNDcwMzU0CkcxIFgxODUuMTExIFk3MC41MjggRS4wMTU5NQo7V0lEVEg6MC41MTAxMDIKRzEgWDE4NS40NDkgWTcwLjk4NSBFLjAxNjk0CkcxIFgxODUuODYxIFk3MC41NzIgRS4wMTczOQpHMSBYMTg1LjU3MSBZNzAuMzYyIEUuMDEwNjcKO1dJRFRIOjAuNDk2ODQ1CkcxIFgxODUuMjE5IFk2OS45OTEgRS4wMTQ4Mgo7V0lEVEg6MC40NTAyNDMKRzEgWDE4NC45MjUgWTY5LjU1OCBFLjAxMzY0CjtXSURUSDowLjQ0OTk5OQpHMSBYMTg0LjYxNSBZNjkuMTE2IEUuMDE0MDcKRzEgWDE4NC4zNjcgWTY4LjU3MyBFLjAxNTU1CkcxIFgxODQuMTg3IFk2OC4xMDUgRS4wMTMwNgpHMSBYMTg0LjA4NyBZNjcuNTU5IEUuMDE0NDYKRzEgWDE4My44NjkgWTY3LjEyNiBFLjAxMjYzCkcxIFgxODMuMjcgWTY2Ljk0MiBFLjAxNjMzCkcxIFgxODIuODA5IFk2Ni42MTYgRS4wMTQ3MQo7V0lEVEg6MC40MjczNjgKRzEgWDE4Mi42MzMgWTY2LjQxNiBFLjAwNjU3CjtXSURUSDowLjM5Mzg0NApHMSBYMTgyLjQ1NiBZNjYuMjE2IEUuMDA2MDIKO1c1Ny40NzkgWTQ4LjI3NiBFLjAwNTA2CjtXSURUSDowLjUzMDcyNQpHMSBYMTU3LjMwOSBZNDguMzI1IEUuMDA1NQo7V0lEVEg6MC41NjUzNTMKRzEgWDE1Ny4yMjIgWTQ4LjMyNiBFLjAwMjg5CjtXSURUSDowLjU5OTk4CkcxIFgxNTcuMTM1IFk0OC4zMjcgRS4wMDMwOApHMSBYMTU3LjE5NSBZNDguMzkgRS4wMDMwOAo7V0lEVEg6MC41NjUzNTMKRzEgWDE1Ny4yNTYgWTQ4LjQ1NCBFLjAwMjk0CjtXSURUSDowLjUzMDcyNQpHMSBYMTU3LjMzNiBZNDguNTc3IEUuMDA0NTYKO1dJRFRIOjAuNDkwMzYyCkcxIFgxNTcuNDE3IFk0OC43IEUuMDA0MjEKO1dJRFRIOjAuNDQ5OTk5CkcxIFgxNTcuNzcxIFk0OS4wNjQgRS4wMTMyMwpHMSBYMTU3LjgzNyBZNDkuMjA4IEUuMDA0MTMKRzEgWDE1OC4zNTcgWTQ5LjQ3NyBFLjAxNTI1CkcxIFgxNTguNjM5IFk0OS44NzMgRS4wMTI2NwpHMSBYMTU5LjAwOCBZNTAuMjU5IEUuMDEzOTEKRzEgWDE1OS4zNDIgWTUwLjY2NiBFLjAxMzcyCkcxIFgxNTkuNjgxIFk1MS4xNzggRS4wMTYKRzEgWDE2MC4wOTUgWTUxLjYyNSBFLjAxNTg3CkcxIFgxNjAuMjkgWTUxLjg3MiBFLjAwODIKRzEgWDE2MC4zMDMgWTUxLjkzMSBFLjAwMTU3CkcxIFgxNjAuNTc1IFk1Mi4yNDggRS4wMTA4OApHMSBYMTYwLjcxOSBZNTIuNSBFLjAwNzU2CkcxIFgxNjEuMTE5IFk1My4wNSBFLjAxNzcyCkcxIFgxNjEuMzc3IFk1My40NzkgRS4wMTMwNApHMSBYMTYxLjU4NCBZNTMuNzUgRS4wMDg4OQpHMSBYMTYyLjM4MyBZNTUuMzIzIEUuMDQ1OTcKRzEgWDE2Mi42MDkgWTU1LjcxNiBFLjAxMTgxCkcxIFgxNjIuODczIFk1Ni4zNjggRS4wMTgzMwpHMSBYMTYzLjYzNyBZNTguNjExIEUuMDYxNzQKRzEgWDE2My45NiBZNTkuNjY1IEUuMDI4NzIKRzEgWDE2NC4wMTggWTYwLjE5OSBFLjAxNApHMSBYMTY0LjI2MyBZNjEuNDY4IEUuMDMzNjgKRzEgWDE2NC4zNTIgWTYyLjIxIEUuMDE5NDcKRzEgWDE2NC4zODkgWTYyLjc1NyBFLjAxNDI5CkcxIFgxNjQuNDIzIFk2NC43OSBFLjA1Mjk4CkcxIFgxNjQuNDA1IFk2Ni4xNzIgRS4wMzYwMQpHMSBYMTY0LjM2NyBZNjYuOTU5IEUuMDIwNTMKRzEgWDE2NC4xMTQgWTY4LjU4NCBFLjA0Mjg1CkcxIFgxNjQuMDM3IFk2OC44MTMgRS4wMDYzCkcxIFgxNjQuMDEgWTY5LjQwNCBFLjAxNTQxCkcxIFgxNjMuOTAzIFk2OS45IEUuMDEzMjIKRzEgWDE2My43MyBZNzAuMzg2IEUuMDEzNDQKRzEgWDE2My42MjggWTcwLjYxMSBFLjAwNjQ0CkcxIFgxNjMuNTUxIFk3MS40MDcgRS4wMjA4NApHMSBYMTYzLjQxOCBZNzEuNzk5IEUuMDEwNzkKRzEgWDE2My4yNDIgWTcyLjQ4OSBFLjAxODU1CkcxIFgxNjMuMjYyIFk3My4wMjMgRS4wMTM5MgpHMSBYMTYzLjAyMiBZNzMuOTYyIEUuMDI1MjUKRzEgWDE2Mi44MjYgWTc0LjQzNiBFLjAxMzM2CkcxIFgxNjIuMzUxIFk3NS40MjcgRS4wMjg2MwpHMSBYMTYyLjA5OSBZNzUuODg5IEUuMDEzNzEKRzEgWDE2MS42MjIgWTc2LjkyNiBFLjAyOTc0CkcxIFgxNjEuMzggWTc3LjM3NCBFLjAxMzI3CkcxIFgxNjEuMTUgWTc3LjkyMSBFLnsiYWN0dWFsIjoyOC44LCJ0YXJnZXQiOm51bGx9fV0sImJ1c3lGaWxlcyI6W10sIm1hcmtpbmdzIjpbeyJ0eXBlIjoiY29ubmVjdGVkIiwibGFiZWwiOiJDb25uZWN0ZWQiLCJ0aW1lIjoxNzE3MzAyNDE1LjU1MzY4Njl9XSwibG9ncyI6WyJSZWN2OiBUOjIwLjUgLzAuMCBCOjE4LjkgLzAuMCBUMDoyMC41IC8wLjAgQDowIEJAOjAgUDowLjAgQToyOC44Il0sIm1lc3NhZ2VzIjpbIlQ6MjAuNSAvMC4wIEI6MTguOSAvMC4wIFQwOjIwLjUgLzAuMCBAOjAgQkA6MCBQOjAuMCBBOjI4LjgiLCIiXX19XTAKRzEgRjI0MDAKRzEgWDE2OC4xNjIgWTE2NS43OTggRS4xMTg5NgpHMSBYMTY3Ljk4NCBZMTY2LjE1MSBGMTA4MDAKRzEgRjI0MDAKRzEgWDE3MS4zOTQgWTE2OS41NjEgRS4xMTI5CkcxIFgxNzEuMDUyIFkxNjkuNzUgRjEwODAwCkcxIEYyNDAwCkcxIFgxNjcuOTA0IFkxNjYuNjAyIEUuMTA0MjMKRzEgWDE2OC4wMTMgWTE2Ny4yNDIgRjEwODAwCkcxIEYyNDAwCkcxIFgxNzAuNzI0IFkxNjkuOTUyIEUuMDg5NzQKRzEgWDE3MC4zOTMgWTE3MC4xNTMgRjEwODAwCkcxIEYyNDAwCkcxIFgxNjguMDU3IFkxNjcuODE3IEUuMDc3MzQKRzEgWDE2Ny43MTcgWTE2OC4wMDggRjEwODAwCkcxIEYyNDAwCkcxIFgxNzAuMDM3IFkxNzAuMzI3IEUuMDc2OApHMSBYMTY5LjY5MSBZMTcwLjUxMyBGMTA4MDAKRzEgRjI0MDAKRzEgWDE2Ny40MSBZMTY4LjIzMiBFLjA3NTUyCkcxIFgxNjcuMTUgWTE2OC41MDMgRjEwODAwCkcxIEYyNDAwCkcxIFgxNjkuMzI5IFkxNzAuNjgyIEUuMDcyMTUKRzEgWDE2OC45NTMgWTE3MC44MzYgRjEwODAwCkcxIEYyNDAwCkcxIFgxNjYuOTcyIFkxNjguODU1IEUuMDY1NTkKRzEgWDE2Ni44NyBZMTY5LjI4NCBGMTA4MDAKRzEgRjI0MDAKRzEgWDE2OC41MjYgWTE3MC45NCBFLjA1NDgzCkcxIFgxNjcuOTIxIFkxNzAuODY2IEYxMDgwMApHMSBGMjQwMApHMSBYMTY2LjkzOSBZMTY5Ljg4NCBFLjAzMjUxCjtXSVBFX1NUQVJUCkcxIEY4NjQwCkcxIFgxNjcuOTIxIFkxNzAuODY2IEUtLjMyMDY3CjtXSVBFX0VORApHMSBFLS40NzkzMyBGMjEwMApHMSBaMS41IEY3MjAKRzEgWDE3NC4wNjcgWTE3My42OTIgRjEwODAwCkcxIFoxLjEgRjcyMApHMSBFLjggRjIxMDAKO1RZUEU6SW50ZXJuYWwgaW5maWxsCjtXSURUSDowLjQ1CkcxIEY0ODAwCkcxIFgxNzMuOTczIFkxNzMuMzcxIEUuMDA4NzIKRzEgWDE3My44NjkgWTE3My4xOCBFLjAwNTY3CkcxIFgxNzMuNzYxIFkxNzMuMDU4IEUuMDA0MjUKRzEgWDE3NC4wNjcgWTE3Mi44NTggRS4wMDk1MwpHMSBYMTc0LjMgWTE3Mi43NDUgRS4wMDY3NQpHMSBYMTc0LjQyMyBZMTcyLjY1MiBFLjAwNDAyCkcxIFgxNzQuNDU1IFkxNzIuNjY0IEUuMDAwODkKRzEgWDE3NC42NzQgWTE3Mi42MTYgRS4wMDU4NApHMSBYMTc0LjkzMyBZMTcyLjU0MyBFLjAwNzAxCkcxIFgxNzUuMDc0IFkxNzIuNDY4IEUuMDA0MTYKRzEgWDE3NS4zODEgWTE3Mi40MDEgRS4wMDgxOQpHMSBYMTc2LjEwNSBZMTcyLjU5NCBFLjAxOTUyCkcxIFgxNzYuNTUzIFkxNzIuNTUzIEUuLmtleXMoT2JqZWN0LmFzc2lnbih7fSxlLHMpKSxmdW5jdGlvbih1KXtjb25zdCBkPWxbdV18fGksbT1kKGVbdV0sc1t1XSx1KTtLLmlzVW5kZWZpbmVkKG0pJiZkIT09b3x8KHRbdV09bSl9KSx0fWNvbnN0IE0kPSIxLjYuOCIsTWY9e307WyJvYmplY3QiLCJib29sZWFuIiwibnVtYmVyIiwiZnVuY3Rpb24iLCJzdHJpbmciLCJzeW1ib2wiXS5mb3JFYWNoKChlLHMpPT57TWZbZV09ZnVuY3Rpb24ocil7cmV0dXJuIHR5cGVvZiByPT09ZXx8ImEiKyhzPDE/Im4gIjoiICIpK2V9fSk7Y29uc3QgVl89e307TWYudHJhbnNpdGlvbmFsPWZ1bmN0aW9uKHMsdCxyKXtmdW5jdGlvbiBpKG4sYSl7cmV0dXJuIltBeGlvcyB2IitNJCsiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICciK24rIiciK2ErKHI/Ii4gIityOiIiKX1yZXR1cm4obixhLG8pPT57aWYocz09PSExKXRocm93IG5ldyBNZShpKGEsIiBoYXMgYmVlbiByZW1vdmVkIisodD8iIGluICIrdDoiIikpLE1lLkVSUl9ERVBSRUNBVEVEKTtyZXR1cm4gdCYmIVZfW2FdJiYoVl9bYV09ITAsY29uc29sZS53YXJuKGkoYSwiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdiIrdCsiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlIikpKSxzP3MobixhLG8pOiEwfX07ZnVuY3Rpb24gdEcoZSxzLHQpe2lmKHR5cGVvZiBlIT0ib2JqZWN0Iil0aHJvdyBuZXcgTWUoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiLE1lLkVSUl9CQURfT1BUSU9OX1ZBTFVFKTtjb25zdCByPU9iamVjdC5rZXlzKGUpO2xldCBpPXIubGVuZ3RoO2Zvcig7aS0tID4wOyl7Y29uc3Qgbj1yW2ldLGE9c1tuXTtpZihhKXtjb25zdCBvPWVbbl0sbD1vPT09dm9pZCAwfHxhKG8sbixlKTtpZihsIT09ITApdGhyb3cgbmV3IE1lKCJvcHRpb24gIituKyIgbXVzdCBiZSAiK2wsTWUuRVJSX0JBRF9PUFRJT05fVkFMVUUpO2NvbnRpbnVlfWlmKHQhPT0hMCl0aHJvdyBuZXcgTWUoIlVua25vd24gb3B0aW9uICIrbixNZS5FUlJfQkFEX09QVElPTil9fWNvbnN0IFltPXthc3NlcnRPcHRpb25zOnRHLHZhbGlkYXRvcnM6TWZ9LHFzPVltLnZhbGlkYXRvcnM7Y2xhc3MgQWx7Y29uc3RydWN0b3Iocyl7dGhpcy5kZWZhdWx0cz1zLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBrXyxyZXNwb25zZTpuZXcga199fWFzeW5jIHJlcXVlc3Qocyx0KXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3JlcXVlc3Qocyx0KX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgRXJyb3Ipe2xldCBpO0Vycm9yLmNhcHR1cmVTdGFja1RyYWNlP0Vycm9yLmNhcHR1cmVTdGFja1RyYWNlKGk9e30pOmk9bmV3IEVycm9yO2NvbnN0IG49aS5zdGFjaz9pLnN0YWNrLnJlcGxhY2UoL14uK1xuLywiIik6IiI7ci5zdGFjaz9uJiYhU3RyaW5nKHIuc3RhY2spLmVuZHNXaXRoKG4ucmVwbGFjZSgvXi4rXG4uK1xuLywiIikpJiYoci5zdGFjays9IlxuIituKTpyLnN0YWNrPW59dGhyb3cgcn19X3JlcXVlc3Qocyx0KXt0eXBlb2Ygcz09InN0cmluZyI/KHQ9dHx8e30sdC51cmw9cyk6dD1zfHx7fSx0PWppKHRoaXNvcGVydHkob2JqZWN0LG9sZFZhcix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9jdG9QcmludENsaWVudC5kZXByZWNhdGVkKG9sZE5hbWVzcGFjZSsiLiIrb2xkVmFyLG5ld05hbWVzcGFjZSsiLiIrbmV3VmFyLGdldHRlcikoKTt9LHNldDpmdW5jdGlvbih2YWwpe09jdG9QcmludENsaWVudC5kZXByZWNhdGVkKG9sZE5hbWVzcGFjZSsiLiIrb2xkVmFyLG5ld05hbWVzcGFjZSsiLiIrbmV3VmFyLHNldHRlcikodmFsKTt9fSk7fTtPY3RvUHJpbnRDbGllbnQuZXNjYXBlUGF0aD1mdW5jdGlvbihwYXRoKXtyZXR1cm4gXy5tYXAocGF0aC5zcGxpdCgiLyIpLGZ1bmN0aW9uKHApe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQocCk7fSkuam9pbigiLyIpO307cmV0dXJuIE9jdG9QcmludENsaWVudDt9KTsKOwoKLy8gc291cmNlOiBqcy9hcHAvY2xpZW50L3NvY2tldC5qcwooZnVuY3Rpb24oZ2xvYmFsLGZhY3Rvcnkpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKXtkZWZpbmUoWyJPY3RvUHJpbnRDbGllbnQiLCJqcXVlcnkiLCJsb2Rhc2giLCJzb2NranMiXSxmYWN0b3J5KTt9ZWxzZXtmYWN0b3J5KGdsb2JhbC5PY3RvUHJpbnRDbGllbnQsZ2xvYmFsLiQsZ2xvYmFsLl8sZ2xvYmFsLlNvY2tKUyk7fX0pKHRoaXMsZnVuY3Rpb24oT2N0b1ByaW50Q2xpZW50LCQsXyxTb2NrSlMpe3ZhciBub3JtYWxDbG9zZT0xMDAwO3ZhciBPY3RvUHJpbnRTb2NrZXRDbGllbnQ9ZnVuY3Rpb24oYmFzZSl7dmFyIHNlbGY9dGhpczt0aGlzLmJhc2U9YmFzZTt0aGlzLm9wdGlvbnM9e3RpbWVvdXRzOlswLDEsMSwyLDMsNSw4LDEzLDIwLDQwLDEwMF0sY29ubmVjdFRpbWVvdXQ6NTAwMCx0cmFuc3BvcnRUaW1lb3V0OjQwMDAscmF0ZVNsaWRpbmdXaW5kb3dTaXplOjIwfTt0aGlzLnNvY2tldD11bmRlZmluZWQ7dGhpcy5yZWNvbm5lY3Rpbmc9ZmFsc2U7dGhpcy5yZWNvbm5lY3RUcmlhbD0wO3RoaXMucmVnaXN0ZXJlZEhhbmRsZXJzPXt9O3RoaXMucmF0ZVRocm90dGxlRmFjdG9yPTE7dGhpcy5yYXRlQmFzZT01MDA7dGhpcy5yYXRlTGFzdE1lYXN1cmVtZW50cz1bXTt0aGlzLmNvbm5lY3RUaW1lb3V0PXVuZGVmaW5lZDt0aGlzLm9uTWVzc2FnZSgiY29ubmVjdGVkIixmdW5jdGlvbigpe2lmKHNlbGYuY29ubmVjdFRpbWVvdXQpe2NsZWFyVGltZW91dChzZWxmLmNvbm5lY3RUaW1lb3V0KTtzZWxmLmNvbm5lY3RUaW1lb3V0PXVuZGVmaW5lZDt9fSk7fTtPY3RvUHJpbnRTb2NrZXRDbGllbnQucHJvdG90eXBlLnByb3BhZ2F0ZU1lc3NhZ2U9ZnVuY3Rpb24oZXZlbnQsZGF0YSl7dmFyIHN0YXJ0PW5ldyBEYXRlKCkuZ2V0VGltZSgpO3ZhciBldmVudE9iaj17ZXZlbnQ6ZXZlbnQsZGF0YTpkYXRhfTt2YXIgY2F0Y2hBbGxIYW5kbGVycz10aGlzLnJlZ2lzdGVyZWRIYW5kbGVyc1siKiJdO2lmKGNhdGNoQWxsSGFuZGxlcnMmJmNhdGNoQWxsSGFuZGxlcnMubGVuZ3RoKXtfLmVhY2goY2F0Y2hBbGxIYW5kbGVycyxmdW5jdGlvbihoYW5kbGVyKXtoYW5kbGVyKGV2ZW50T2JqKTt9KTt9CnZhciBoYW5kbG4mJmdsZShlLHQsbiksbn07bGV0IHFfPWNsYXNzIGV4dGVuZHMgRyhZKXtnZXQgZW5kc3RvcHMoKXtyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVyc1sicHJpbnRlci9nZXRFbmRzdG9wcyJdfWdldCBwcm9iZSgpe3JldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzWyJwcmludGVyL2dldFByb2JlIl19Z2V0IGVuZHN0b3BzQW5kUHJvYmVzKCl7Y29uc3QgZT1bLi4udGhpcy5lbmRzdG9wc10sdD10aGlzLnByb2JlO3JldHVybiB0IT09dm9pZCAwJiZlLnB1c2goe25hbWU6IlByb2JlIixzdGF0ZTp0Lmxhc3RfcXVlcnk/InRyaWdnZXJlZCI6Im9wZW4ifSksZX1nZXQgaGFzRW5kc3RvcHMoKXtyZXR1cm4gdGhpcy5lbmRzdG9wcy5sZW5ndGg+MH1xdWVyeUVuZHN0b3BzKCl7Ui5wcmludGVyUXVlcnlFbmRzdG9wcygpLHRoaXMucHJvYmUhPT12b2lkIDAmJnRoaXMuc2VuZEdjb2RlKCJRVUVSWV9QUk9CRSIsdGhpcy4kd2FpdHMub25RdWVyeVByb2JlKX1kZXN0cm95ZWQoKXt0aGlzLiRzdG9yZS5jb21taXQoInByaW50ZXIvc2V0Q2xlYXJFbmRTdG9wcyIpfX07cV89X2xlKFtQKHtjb21wb25lbnRzOnt9fSldLHFfKTt2YXIgYmxlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuX3NlbGYuX2M7cmV0dXJuIGUuX3NlbGYuX3NldHVwUHJveHksdChRZSx7YXR0cnM6e3RpdGxlOmUuJHQoImFwcC5nZW5lcmFsLnRpdGxlLmVuZHN0b3BzIiksInN1Yi10aXRsZSI6ZS4kdCgiYXBwLmVuZHN0b3AubXNnLnN1YnRpdGxlIiksaWNvbjoiJGV4cGFuZEhvcml6b250YWwifSxzY29wZWRTbG90czplLl91KFt7a2V5OiJjb2xsYXBzZS1idXR0b24iLGZuOmZ1bmN0aW9uKCl7cmV0dXJuW3Qoayx7c3RhdGljQ2xhc3M6Im1zLTEgbXktMSIsYXR0cnM6e2xvYWRpbmc6ZS5oYXNXYWl0KGUuJHdhaXRzLm9uUXVlcnlFbmRzdG9wcyl8fGUuaGFzV2FpdChlLiR3YWl0cy5vblF1ZXJ5UHJvYmUpLGNvbG9yOiIiLGZhYjoiIiwieC1zbWFsbCI6IiIsdGV4dDoiIn0sb246e2NsaWNrOmUucXVlcnlFbmRzdG9wc319LFt0KHgsW2UuX3YoIiRyZWZyZXNoIildKV0sMSldfSxwcm94eTohMH1dKX0sW2UuaGFzRW5kc3RvcHM/dChxdCxbdCgidGJvZHkiLGUuX2woZS5lbmRzdG9wc0FuZFByb2JlcyxmdW5jdGlvbihzKXtyZXR1cm4gdCgidHIiLHtrZXk6cy5uYW1lfSxbdCgidGQiLFt0KCJzcGFuIix7c3RhdGljQ2xhc3M6ImZvY3VzLS10ZXh0In0sW2UuX3YoZS5fcyhzLm5hbWUpKV0pXSksdCgidGQiLFt0KG1yLHthdHRyczp7Y29sb3I6cy5zdGF0ZT09PSJvcGVuIj8ic2Vjb25kYXJ5Ijoid2FybmluZyIsc21hbGw6IiIsbGFiZWw6IiJ9fSxbdCh4LHthdHRyczp7c21hbGw6IiIsbGVmdDoiIn19LFtlLl92KCIgIitlLl9zKHMuc3RhdGU9PT0ib3BlbiI/IiRibGFua0NpcmNsZSI6IiRtYXJrZWRDaXJjbGUiKSsiICIpXSksZS5fdigiICIrZS5fcyhlLiR0KCJhcHAuZW5kc3RvcC5sYWJlbC4iK3Muc3RhdGUudG9Mb3dlckNhc2UoKSkpKyIgIildLDEpXSwxKV0pfSksMCldKTplLl9lKCldLDEpfSx5bGU9W10sJGxlPUUocV8sYmxlLHlsZSwhMSxudGhpcy5tYXhXaWR0aCl8fCIwIn0sY2FsY3VsYXRlZE1pbldpZHRoKCl7aWYodGhpcy5taW5XaWR0aClyZXR1cm4gbWUodGhpcy5taW5XaWR0aCl8fCIwIjtjb25zdCByPU1hdGgubWluKHRoaXMuZGltZW5zaW9ucy5hY3RpdmF0b3Iud2lkdGgrTnVtYmVyKHRoaXMubnVkZ2VXaWR0aCkrKHRoaXMuYXV0bz8xNjowKSxNYXRoLm1heCh0aGlzLnBhZ2VXaWR0aC0yNCwwKSksZT1pc05hTihwYXJzZUludCh0aGlzLmNhbGN1bGF0ZWRNYXhXaWR0aCkpP3I6cGFyc2VJbnQodGhpcy5jYWxjdWxhdGVkTWF4V2lkdGgpO3JldHVybiBtZShNYXRoLm1pbihlLHIpKXx8IjAifSxjYWxjdWxhdGVkVG9wKCl7cmV0dXJuKHRoaXMuYXV0bz9tZSh0aGlzLmNhbGNZT3ZlcmZsb3codGhpcy5jYWxjdWxhdGVkVG9wQXV0bykpOnRoaXMuY2FsY1RvcCgpKXx8IjAifSxoYXNDbGlja2FibGVUaWxlcygpe3JldHVybiEhdGhpcy50aWxlcy5maW5kKHI9PnIudGFiSW5kZXg+LTEpfSxzdHlsZXMoKXtyZXR1cm57bWF4SGVpZ2h0OnRoaXMuY2FsY3VsYXRlZE1heEhlaWdodCxtaW5XaWR0aDp0aGlzLmNhbGN1bGF0ZWRNaW5XaWR0aCxtYXhXaWR0aDp0aGlzLmNhbGN1bGF0ZWRNYXhXaWR0aCx0b3A6dGhpcy5jYWxjdWxhdGVkVG9wLGxlZnQ6dGhpcy5jYWxjdWxhdGVkTGVmdCx0cmFuc2Zvcm1PcmlnaW46dGhpcy5vcmlnaW4sekluZGV4OnRoaXMuekluZGV4fHx0aGlzLmFjdGl2ZVpJbmRleH19fSx3YXRjaDp7aXNBY3RpdmUocil7cnx8KHRoaXMubGlzdEluZGV4PS0xKX0saXNDb250ZW50QWN0aXZlKHIpe3RoaXMuaGFzSnVzdEZvY3VzZWQ9cn0sbGlzdEluZGV4KHIsZSl7aWYociBpbiB0aGlzLnRpbGVzKXtjb25zdCB0PXRoaXMudGlsZXNbcl07dC5jbGFzc0xpc3QuYWRkKCJ2LWxpc3QtaXRlbS0taGlnaGxpZ2h0ZWQiKTtjb25zdCBzPXRoaXMuJHJlZnMuY29udGVudC5zY3JvbGxUb3Asbj10aGlzLiRyZWZzLmNvbnRlbnQuY2xpZW50SGVpZ2h0O3M+dC5vZmZzZXRUb3AtOD9BYSh0Lm9mZnNldFRvcC10LmNsaWVudEhlaWdodCx7YXBwT2Zmc2V0OiExLGR1cmF0aW9uOjMwMCxjb250YWluZXI6dGhpcy4kcmVmcy5jb250ZW50fSk6cytuPHQub2Zmc2V0VG9wK3QuY2xpZW50SGVpZ2h0KzgmJkFhKHQub2Zmc2V0VG9wLW4rdC5jbGllbnRIZWlnaHQqMix7YXBwT2Zmc2V0OiExLGR1cmF0aW9uOjMwMCxjb250YWluZXI6dGhpcy4kcmVmcy5jb250ZW50fSl9ZSBpbiB0aGlzLnRpbGVzJiZ0aGlzLnRpbGVzW2VdLmNsYXNzTGlzdC5yZW1vdmUoInYtbGlzdC1pdGVtLS1oaWdobGlnaHRlZCIpfX0sY3JlYXRlZCgpe3RoaXMuJGF0dHJzLmhhc093blByb3BlcnR5KCJmdWxsLXdpZHRoIikmJlRsKCJmdWxsLXdpZHRoIix0aGlzKX0sbW91bnRlZCgpe3RoaXMuaXNBY3RpdmUmJnRoaXMuY2FsbEFjdGl2YXRlKCl9LG1ldGhvZHM6e2FjdGl2YXRlKCl7dGhpcy51cGRhdGVEaW1lbnNpb25zKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zdGFydFRyYW5zaXRpb24oKS50aGVuKCgpPT57dGhpcy4kcmVmcy5jb250ZW50JiYodGhyZXNzIiwKICAgICAgICAiaWQiOiAibTczcHJvZ3Jlc3MiLAogICAgICAgICJpbWFnZSI6ICJodHRwczovL3BsdWdpbnMub2N0b3ByaW50Lm9yZy9hc3NldHMvaW1nL3BsdWdpbnMvbTczcHJvZ3Jlc3MvbTczcHJvZ3Jlc3MuanBnIiwKICAgICAgICAiaXNfY29tcGF0aWJsZSI6IHsKICAgICAgICAgICJvY3RvcHJpbnQiOiB0cnVlLAogICAgICAgICAgIm9zIjogdHJ1ZSwKICAgICAgICAgICJweXRob24iOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAibGljZW5zZSI6ICJBR1BMdjMiLAogICAgICAgICJwYWdlIjogImh0dHBzOi8vcGx1Z2lucy5vY3RvcHJpbnQub3JnL3BsdWdpbnMvbTczcHJvZ3Jlc3MvIiwKICAgICAgICAicHJpdmFjeXBvbGljeSI6IGZhbHNlLAogICAgICAgICJwdWJsaXNoZWQiOiAiMjAxOC0wMS0xNiAwMDowMDowMCArMDAwMCIsCiAgICAgICAgInN0YXRzIjogewogICAgICAgICAgImluc3RhbGxfZXZlbnRzX21vbnRoIjogMTcyLAogICAgICAgICAgImluc3RhbGxfZXZlbnRzX3dlZWsiOiAzNSwKICAgICAgICAgICJpbnN0YW5jZXNfbW9udGgiOiAyNzkxLAogICAgICAgICAgImluc3RhbmNlc193ZWVrIjogMjAzNAogICAgICAgIH0sCiAgICAgICAgInRpdGxlIjogIk03MyBQcm9ncmVzcyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhYmFuZG9uZWQiOiBmYWxzZSwKICAgICAgICAiYXJjaGl2ZSI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3J1dmluL09jdG9QcmludC1XZWJjYW1UYWIvYXJjaGl2ZS9tYXN0ZXIuemlwIiwKICAgICAgICAiYXV0aG9yIjogIlN2ZW4gTG9ocm1hbm4gKG9yaWdpbmFsKSwgQnJ5YW4gSi4gUmVudG91bCIsCiAgICAgICAgImNvbXBhdGliaWxpdHkiOiB7CiAgICAgICAgICAib2N0b3ByaW50IjogWwogICAgICAgICAgICAiMS4zLjAiCiAgICAgICAgICBdLAogICAgICAgICAgIm9zIjogW10sCiAgICAgICAgICAicHl0aG9uIjogIj49Mi43LDw0IgogICAgICAgIH0sCiAgICAgICAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB3ZWJjYW0gc3RyZWFtIGZyb20gQ29udHJvbCB0YWIgdG8gaXRzIG93biBXZWJjYW0gdGFiLiIsCiAgICAgICAgImZvbGxvd19kZXBlbmRlbmN5X2xpbmtzIjogZmFsc2UsCiAgICAgICAgImdpdGh1YiI6IHsKICAgICAgICAgICJpc3N1ZXMiOiB7CiAgICAgICAgICAgICJjbG9zZWQiOiAxMiwKICAgICAgICAgICAgIm9wZW4iOiAxCiAgICAgICAgICB9LAogICAgICAgICAgImxhc3RfcHVzaCI6ICIyMDIzLTA2LTIwIDAwOjUyOjU2ICswMDAwIiwKICAgICAgICAgICJsYXRlc3RfcmVsZWFzZSI6IHsKICAgICAgICAgICAgImRhdGUiOiAiMjAyMy0wNi0yMCAwMToxMDozNCArMDAwMCIsCiAgICAgICAgICAgICJuYW1lIjogIlN1cHBvcnQgZm9yIE9jdG9QcmludCAxLjkuMCBSRUxFQVNFIGJ5IGFsZXgxcGxhdG9uIiwKICAgICAgICAgICAgInRhZyI6ICIwLjMuMSIKICAgICAgICAgIH0sCiAgICAgICAgICAicmVsZWFzZXMiOiA4LAogICAgICAgICAgInN0YXJzIjogNgogICAgICAgIH0sCiAgICAgICAgImhvbWVwYWdlIjIuOTI3IFk0NS44MTggRS4wMDgyOQpHMSBYNjMuMjc1IFk0NS43MDQgRS4wMDk1NApHMSBYNjMuNTI3IFk0NS40NzUgRS4wMDg4NwpHMSBYNjMuNjYzIFk0NS40NDMgRS4wMDM2NApHMSBYNjQuNTYyIFk0NC45MzcgRS4wMjY4OApHMSBYNjQuNjkxIFk0NC45MTcgRS4wMDM0CkcxIFg2NS4wNjkgWTQ0LjUzNyBFLjAxMzk3CkcxIFg2NS40MzkgWTQ0LjIyNyBFLjAxMjU4CkcxIFg2NS42MjcgWTQ0LjAwMSBFLjAwNzY2CkcxIFg2Ni4wMzIgWTQzLjY2MiBFLjAxMzc2CkcxIFg2Ni4zMDMgWTQzLjE4MyBFLjAxNDM0CkcxIFg2Ni40NjkgWTQyLjk5NyBFLjAwNjUKRzEgWDY2LjY3NCBZNDIuNjUgRS4wMTA1CkcxIFg2Ny40NDcgWTQxLjg3OSBFLjAyODQ1CkcxIFg2Ny44MzQgWTQxLjI3NiBFLjAxODY3CkcxIFg2OC4yMTQgWTQwLjg3OSBFLjAxNDMyCkcxIFg2OC4yNzcgWTQwLjcyOCBFLjAwNDI2CkcxIFg2OC40OTQgWTQwLjQ0OSBFLjAwOTIxCkcxIFg2OS4xNzEgWTM5Ljk1MiBFLjAyMTg4CkcxIFg2OS41NDIgWTM5LjU1MSBFLjAxNDIzCkcxIFg3MC4wNTggWTM5LjIxNiBFLjAxNjAzCkcxIFg3MC4zMDEgWTM4Ljk2MSBFLjAwOTE4CkcxIFg3MC43OTcgWTM4LjcyNyBFLjAxNDI5CkcxIFg3MS4wNzMgWTM4LjUxOSBFLjAwOQpHMSBYNzEuMjk5IFkzOC40NTggRS4wMDYxCkcxIFg3MS43NTggWTM4LjExIEUuMDE1MDEKRzEgWDcyLjM3NSBZMzcuODgzIEUuMDE3MTMKRzEgWDcyLjYyNiBZMzcuNjk3IEUuMDA4MTQKRzEgWDczLjM2MSBZMzcuNDA2IEUuMDIwNgpHMSBYNzMuNTc1IFkzNy4xOTMgRS4wMDc4NwpHMSBYNzMuOTE2IFkzNy4wNTMgRS4wMDk2CkcxIFg3NC4xOTcgWTM2Ljc5IEUuMDEwMDMKRzEgWDc0LjQ0OSBZMzYuNjY2IEUuMDA3MzIKRzEgWDc0Ljc0MSBZMzYuNDc1IEUuMDA5MDkKRzEgWDc0Ljg3NSBZMzYuMjY2IEUuMDA2NDcKRzEgWDc1LjA1OCBZMzYuMTY1IEUuMDA1NDUKRzEgWDc1LjIzNyBZMzUuOTcyIEUuMDA2ODYKRzEgWDc1Ljc2MSBZMzUuNjMzIEUuMDE2MjYKRzEgWDc2LjIyMSBZMzUuMDExIEUuMDIwMTYKRzEgWDc2LjQxNiBZMzQuODY3IEUuMDA2MzIKRzEgWDc2LjU0OSBZMzQuNTYzIEUuMDA4NjUKRzEgWDc2LjcgWTM0LjQwMiBFLjAwNTc1CkcxIFg3Ni43OSBZMzQuMDM1IEUuMDA5ODUKRzEgWDc2Ljk4NCBZMzMuODQyIEUuMDA3MTMKRzEgWDc3LjMxOCBZMzMuMTg3IEUuMDE5MTYKRzEgWDc3LjMwNCBZMzIuOTE1IEUuMDA3MQpHMSBYNzcuNjQ3IFkzMi4yODkgRS4wMTg2CkcxIFg3Ny45MTggWTMxLjk5NCBFLjAxMDQ0CkcxIFg3OC4wNzUgWTMxLjYzNCBFLjAxMDIzCkcxIFg3OC42MzggWTMxLjA3NiBFLjAyMDY1CkcxIFg3OS4wMTkgWTMwLjUyNiBFLjAxNzQzCkcxIFg3OS4zMTYgWTMwLjE5MSBFLjAxMTY3CkcxIFg3OS41NTUgWTMwLjE4OCBFLjAwNjIzCkcxIFg3OS44MzEgWTMwLjA0OSBFLjAwODA1CkcxIFg3OS45NjEgWTI5Ljg3MyBFLjAwNTcKRzEgWDgwLjI3IFkyOS43MDEgRS4wMDkyMQpHMSBYODAuOTA2IFkyOS41MzQgRS4wMTcxMwpHMSBYODEuMzUzIFkyOS4zb24gSShpKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9LGU9T2JqZWN0LmtleXMocik7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJihlPWUuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocikuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsdCkuZW51bWVyYWJsZX0pKSksZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlLG4sbztlPWksbz1yW249dF0sbiBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se3ZhbHVlOm8sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW25dPW99KX1yZXR1cm4gaX1mdW5jdGlvbiBsKHQsZSl7aWYobnVsbD09dClyZXR1cm57fTt2YXIgbixvLGk9ZnVuY3Rpb24odCxlKXtpZihudWxsPT10KXJldHVybnt9O3ZhciBuLG8saT17fSxyPU9iamVjdC5rZXlzKHQpO2ZvcihvPTA7bzxyLmxlbmd0aDtvKyspbj1yW29dLDA8PWUuaW5kZXhPZihuKXx8KGlbbl09dFtuXSk7cmV0dXJuIGl9KHQsZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtmb3Iobz0wO288ci5sZW5ndGg7bysrKW49cltvXSwwPD1lLmluZGV4T2Yobil8fE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG4pJiYoaVtuXT10W25dKX1yZXR1cm4gaX1mdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIGU9MCxuPW5ldyBBcnJheSh0Lmxlbmd0aCk7ZTx0Lmxlbmd0aDtlKyspbltlXT10W2VdO3JldHVybiBufX0odCl8fGZ1bmN0aW9uKHQpe2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCl8fCJbb2JqZWN0IEFyZ3VtZW50c10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSIpfSgpfWZ1bmN0aW9uIHQodCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5uYXZpZ2F0b3IpcmV0dXJuISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKHQpfXZhciB3PXQoLyg/OlRyaWRlbnQuKnJ2WyA6XT8xMVwufG1zaWV8aWVtb2JpbGV8V2luZG93cyBQaG9uZSkvaSksRT10KC9FZGdlL2kpLGM9dCgvZmlyZWZveC9pKSx1PXQoL3NhZmFyaS9pKSYmIXQoL2Nocm9tZS9pKSYmIXQoL2FuZHJvaWQvaSksbj10KC9pUChhZHxvZHxob25lKS9pKSxpPXQoL2Nocm9tZS9pKSYmdCgvYW5kcm9pZC9pKSxyPXtjYXB0dXJlOiExLHBhc3NpdmU6ITF9O2Z1bmN0aW9uIGQodCxlLG4pe3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4sIXcmJnIpfWZ1bmN0aW9uIHModCxlLG4pe3QucmVtb3ZlRXZlbnRhU2xpY2VyIiwgInNsaWNlcl92ZXJzaW9uIjogIjIuNi4xK3dpbjY0IiwgImdjb2RlX3N0YXJ0X2J5dGUiOiAxMjU4OCwgImdjb2RlX2VuZF9ieXRlIjogODMxNDgwLCAib2JqZWN0X2hlaWdodCI6IDI1LjEsICJlc3RpbWF0ZWRfdGltZSI6IDEyMzQsICJub3p6bGVfZGlhbWV0ZXIiOiAwLjQsICJsYXllcl9oZWlnaHQiOiAwLjMsICJmaXJzdF9sYXllcl9oZWlnaHQiOiAwLjIsICJmaXJzdF9sYXllcl9leHRyX3RlbXAiOiAyMTUuMCwgImZpcnN0X2xheWVyX2JlZF90ZW1wIjogNjAuMCwgImZpbGFtZW50X25hbWUiOiAiUHJ1c2FtZW50IFBMQSIsICJmaWxhbWVudF90eXBlIjogIlBMQSIsICJmaWxhbWVudF90b3RhbCI6IDI0NTIuOTYsICJmaWxhbWVudF93ZWlnaHRfdG90YWwiOiA3LjMyLCAidGh1bWJuYWlscyI6IFt7IndpZHRoIjogMzIsICJoZWlnaHQiOiAyNCwgInNpemUiOiAxNTgzLCAicmVsYXRpdmVfcGF0aCI6ICIudGh1bWJzL1NoYXBlLUN5bGluZGVyXzAuNG5fMC4zbW1fUExBX01LM1NfMjFtLTMyeDMyLnBuZyJ9LCB7IndpZHRoIjogMTYwLCAiaGVpZ2h0IjogMTIwLCAic2l6ZSI6IDg4MjgsICJyZWxhdGl2ZV9wYXRoIjogIi50aHVtYnMvU2hhcGUtQ3lsaW5kZXJfMC40bl8wLjNtbV9QTEFfTUszU18yMW0tMTYweDEyMC5wbmcifV19LCAicHJpbnRfZHVyYXRpb24iOiAwLjAsICJzdGF0dXMiOiAiY2FuY2VsbGVkIiwgInN0YXJ0X3RpbWUiOiAxNzA5ODQ5MTU4LjgzMzE5MzMsICJ0b3RhbF9kdXJhdGlvbiI6IDIxMS42MTkyNDYwNTkwMDI3NiwgImpvYl9pZCI6ICIwMDAwMDAiLCAiZXhpc3RzIjogZmFsc2V9XX0sICJpZCI6IDM3ODU4fS8vIEpTIGFzc2V0cyBmb3IgcGx1Z2luIFByaW50VGltZUdlbml1cwooZnVuY3Rpb24gKCkgewogICAgdHJ5IHsKICAgICAgICAvLyBzb3VyY2U6IHBsdWdpbi9QcmludFRpbWVHZW5pdXMvanMvUHJpbnRUaW1lR2VuaXVzLmpzCiAgICAgICAgLyoKICAgICAgICAgKiBWaWV3IG1vZGVsIGZvciBPY3RvUHJpbnQtUHJpbnRUaW1lR2VuaXVzCiAgICAgICAgICoKICAgICAgICAgKiBBdXRob3I6IEV5YWwKICAgICAgICAgKiBMaWNlbnNlOiBBR1BMdjMKICAgICAgICAgKi8KICAgICAgICAkKGZ1bmN0aW9uKCkgewogICAgICAgICAgZnVuY3Rpb24gUHJpbnRUaW1lR2VuaXVzVmlld01vZGVsKHBhcmFtZXRlcnMpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgIAogICAgICAgICAgICBzZWxmLnNldHRpbmdzVmlld01vZGVsID0gcGFyYW1ldGVyc1swXTsKICAgICAgICAgICAgc2VsZi5wcmludGVyU3RhdGVWaWV3TW9kZWwgPSBwYXJhbWV0ZXJzWzFdOwogICAgICAgICAgICBzZWxmLmZpbGVzVmlld01vZGVsID0gcGFyYW1ldGVyc1syXTsKICAgICAgICAgICAgc2VsZi5zZWxlY3RlZEdjb2RlcyA9IGtvLm9ic2VydmFibGUoKTsKICAgICAgICAgICAgc2VsZi5wcmludF9oaXN0b3J5ID0ga28ub2JzZXJ2YWJsZUFycmF5KCk7CiAgICAgICAgICAgIHNlbGYuc2V0dGluZ3NfdmlzaWJsZSA9IGtvLm9ic2VydmFibGUoZmFsc2UpOwogIC4wMTY1MQpHMSBYMTEyLjUwNyBZMTEwLjA1MyBFLjAwOTg3CkcxIFgxMTIuMTEgWTEwOC45MzUgRS4wMTY2OApHMSBYMTExLjkyMyBZMTA4LjI2IEUuMDA5ODUKRzEgWDExMS43NzEgWTEwNy41NzIgRS4wMDk5MQpHMSBYMTExLjY1NCBZMTA2Ljg3NiBFLjAwOTkzCkcxIFgxMTEuNTc0IFkxMDYuMTc1IEUuMDA5OTIKRzEgWDExMS41MzEgWTEwNS40NyBFLjAwOTkzCkcxIFgxMTEuNTI1IFkxMDQuNzY1IEUuMDA5OTIKRzEgWDExMS41NTYgWTEwNC4wNTkgRS4wMDk5NApHMSBYMTExLjYxMyBZMTAzLjQ0NiBFLjAwODY2CkcxIFgxMTEuNjg5IFkxMDIuODkzIEUuMDA3ODUKRzEgWDExMS44MTggWTEwMi4xOTggRS4wMDk5NApHMSBYMTExLjk4MiBZMTAxLjUxMiBFLjAwOTkyCkcxIFgxMTIuMTgzIFkxMDAuODM1IEUuMDA5OTMKRzEgWDExMi40MTggWTEwMC4xNyBFLjAwOTkyCkcxIFgxMTIuNjUzIFk5OS42IEUuMDA4NjcKRzEgWDExMi44ODYgWTk5LjA5MyBFLjAwNzg1CkcxIFgxMTMuMjEzIFk5OC40NjYgRS4wMDk5NApHMSBYMTEzLjU3MSBZOTcuODU4IEUuMDA5OTIKRzEgWDExMy45NiBZOTcuMjcgRS4wMDk5MgpHMSBYMTE0LjM4IFk5Ni43MDIgRS4wMDk5MwpHMSBYMTE0Ljc3MSBZOTYuMjI2IEUuMDA4NjYKRzEgWDExNS4xNDMgWTk1LjgxIEUuMDA3ODUKRzEgWDExNS42MzkgWTk1LjMwNSBFLjAwOTk1CkcxIFgxMTYuNTE4IFk5NC41MjcgRS4wMTY1MQpHMSBYMTE3LjA3OCBZOTQuMDk3IEUuMDA5OTMKRzEgWDExNy42NiBZOTMuNjk3IEUuMDA5OTMKRzEgWDExOC4yNjIgWTkzLjMyOCBFLjAwOTkzCkcxIFgxMTguODAzIFk5My4wMzMgRS4wMDg2NwpHMSBYMTE5LjMwMyBZOTIuNzg2IEUuMDA3ODQKRzEgWDExOS45NTEgWTkyLjUwNCBFLjAwOTk0CkcxIFgxMjAuNjA3IFk5Mi4yNTkgRS4wMDk4NQpHMSBYMTIxLjc0NSBZOTEuOTIyIEUuMDE2NjkKRzEgWDEyMi40MjggWTkxLjc3MSBFLjAwOTg0CkcxIFgxMjMuMTI0IFk5MS42NTQgRS4wMDk5MwpHMSBYMTIzLjgyNSBZOTEuNTc0IEUuMDA5OTIKRzEgWDEyNC41MyBZOTEuNTMxIEUuMDA5OTMKRzEgWDEyNS4xNDcgWTkxLjUyNCBFLjAwODY4CkcxIFgxMjUuNzA0IFk5MS41NDEgRS4wMDc4NApHMSBYMTI2LjQwOSBZOTEuNTk3IEUuMDA5OTUKRzEgWDEyNy4xMDggWTkxLjY4OSBFLjAwOTkyCkcxIFgxMjcuODAyIFk5MS44MTggRS4wMDk5MwpHMSBYMTI4LjQ4OCBZOTEuOTgyIEUuMDA5OTIKRzEgWDEyOS4xMDIgWTkyLjE2NCBFLjAwOTAxCkcxIFgxMjkuMjkxIFk5MS43ODkgRjkwMDAKO1RZUEU6RXh0ZXJuYWwgcGVyaW1ldGVyCjtXSURUSDowLjQxOTk5OQpHMSBGMTUwMApHMSBYMTMwLjQyOSBZOTIuMjE1IEUuMDE2MjgKRzEgWDEzMS4wODkgWTkyLjUxNiBFLjAwOTcyCkcxIFgxMzEuNzM0IFk5Mi44NTIgRS4wMDk3NApHMSBYMTMyLjM2MSBZOTMuMjIxIEUuMDA5NzUKRzEgWDEzMi45NjUgWTkzLjYyMSBFLjAwOTcxCkcxIFgxMzMuOTMgWTk0LjM2MSBFLjAxNjI5CkcxIFgxMzQuNDczIFk5NC44NDIgRS4wMDk3MgpHMSBYMTM0Ljk5MiBZOTUuMzUxMzguODYgWTEwNC4xNjQgRS4wMDk4CkcxIFgxMzguODg4IFkxMDUuMjQyIEUuMDE0NDUKRzEgWDEzOC44NTYgWTEwNS45NjkgRS4wMDk3NQpHMSBYMTM4Ljc4NyBZMTA2LjY5MSBFLjAwOTcyCkcxIFgxMzguNTg2IFkxMDcuODg4IEUuMDE2MjYKRzEgWDEzOC4yODIgWTEwOS4wNjMgRS4wMTYyNgpHMSBYMTM4LjA1MiBZMTA5Ljc1MSBFLjAwOTcyCkcxIFgxMzcuNzg2IFkxMTAuNDI2IEUuMDA5NzIKRzEgWDEzNy4yNjMgWTExMS41MjIgRS4wMTYyNwpHMSBYMTM2LjkwNiBZMTEyLjE1NCBFLjAwOTczCkcxIFgxMzYuNTE1IFkxMTIuNzY3IEUuMDA5NzQKRzEgWDEzNi4wOTMgWTExMy4zNTkgRS4wMDk3NApHMSBYMTM1LjY0IFkxMTMuOTI4IEUuMDA5NzQKRzEgWDEzNS4xNTggWTExNC40NzMgRS4wMDk3NQpHMSBYMTM0LjY5MiBZMTE0Ljk0OCBFLjAwODkyCkcxIFgxMzQuMjY3IFkxMTQuODc2IEY5MDAwCkcxIEUtMy41IEYzNjAwCjtXSVBFX1NUQVJUCkcxIEY3MjAwCkcxIFgxMzMuNzQgWTExNS43OTYgRS0uNjA1NTgKRzEgWDEzMy4xNjQgWTExNi4yMzcgRS0uMzQ0NTgKRzEgWDEzMi41NjYgWTExNi42NDggRS0uMzQ0NjcKRzEgWDEzMi4xOTQgWTExNi44NjcgRS0uMjA1MTcKO1dJUEVfRU5ECkcxIFgxMzUuNjAzIFkxMTIuMDM5IEY5MDAwCkcxIEU1IEYyNDAwCjtUWVBFOkludGVybmFsIGluZmlsbAo7V0lEVEg6MC40NApHMSBGMTU4NgpHMSBYMTM1LjE2NSBZMTEyLjY2IEUuMDEwNjkKRzEgWDEzNC43NSBZMTEzLjE4MiBFLjAwOTM4CkcxIFgxMzQuMzA5IFkxMTMuNjgxIEUuMDA5MzcKRzEgWDEzMy45OTggWTExMy45OTggRS4wMDYyNQpHMSBYMTE2LjAwMiBZOTYuMDAyIEUuMzU3OTIKRzEgWDExNS42OTEgWTk2LjMxOSBFLjAwNjI1CkcxIFgxMTUuMjUgWTk2LjgxOCBFLjAwOTM3CkcxIFgxMTQuODMzIFk5Ny4zNDIgRS4wMDk0MgpHMSBYMTE0LjM5OCBZOTcuOTYyIEUuMDEwNjUKRzEgRS0zLjUgRjM2MDAKO1dJUEVfU1RBUlQKRzEgRjcyMDAKRzEgWDExNC44MzMgWTk3LjM0MiBFLS4zNTk3NgpHMSBYMTE1LjI1IFk5Ni44MTggRS0uMzE4MQpHMSBYMTE1LjY5MSBZOTYuMzE5IEUtLjMxNjMyCkcxIFgxMTYuMDAyIFk5Ni4wMDIgRS0uMjEwOTQKRzEgWDExNi40NDEgWTk2LjQ0MSBFLS4yOTQ4OAo7V0lQRV9FTkQKRzEgWDExMi45MTkgWTEwMSBGOTAwMApHMSBFNSBGMjQwMApHMSBGMTU4NgpHMSBYMTEyLjk0NyBZMTAwLjkyIEUuMDAxMTkKRzEgWDEyOS4wNzQgWTExNy4wNDcgRS4zMjA3NQpHMSBYMTI4LjgwNCBZMTE3LjE0MiBFLjAwNDAzCkcxIFgxMzcuMTQ2IFkxMDguOCBFLjE2NTkxCkcxIFgxMzcuMDUyIFkxMDkuMDc5IEUuMDA0MTQKRzEgWDEyMC45MjYgWTkyLjk1MyBFLjMyMDczCkcxIFgxMjEuMTk2IFk5Mi44NTggRS4wMDQwMwpHMSBYMTEyLjg1MyBZMTAxLjIwMSBFLjE2NTkzCkcxIFgxMTIuNzA2IFkxMDEuNzAzIEUuMDA3MzYKRzEgWDExMi41NTMgWTEwMi4zNDIgRS4wMDkyNApHMSBYMTEyLjM2NSBZMTAzLjQ2MSBFLjAxNTk2CkcxIFgxMTIuMzQ0IFkxMDMuNjgyIEUuMDAzMTIKRzEuNDczIEUuMDA4MDQKRzEgWDgyLjQ4MiBZOTEuMjE1IEUuMDA4MTgKRzEgWDgyLjM1OCBZOTEuMTA2IEUuMDA0MwpHMSBYODIuMzAyIFk5MC45OTcgRS4wMDMxOQpHMSBYODIuMTQyIFk5MC44NDQgRS4wMDU3NwpHMSBYODEuNjA3IFk5MC4wOTQgRS4wMjQKRzEgWDgxLjU2MiBZODkuNzIxIEUuMDA5NzkKRzEgWDgxLjQxNCBZODkuNjA5IEUuMDA0ODQKRzEgWDgxLjUwNyBZODkuMzU4IEUuMDA2OTcKRzEgWDgxLjUwMyBZODkuMjEyIEUuMDAzODEKO1dJRFRIOjAuNDU1Nzk4CkcxIFg4MS4yNTMgWTg4LjY2OCBFLjAxNTgyCkcxIFg4MS4xMTggWTg4LjQyNyBFLjAwNzMKO1dJRFRIOjAuNDUzMzI0CkcxIFg4MS4yNjYgWTg4LjExNiBFLjAwOTA1CkcxIFg4MS41MjcgWTg4LjMzNiBFLjAwODk2CkcxIFg4MS44NDkgWTg4LjU2NCBFLjAxMDM2CjtXSURUSDowLjQ1MjU3MgpHMSBYODIuMTk5IFk4OC45NDkgRS4wMTM2NAo7V0lEVEg6MC40NDk5OTkKRzEgWDgyLjU0OSBZODkuMzU5IEUuMDE0MDUKRzEgWDgyLjY4MSBZODkuNDY1IEUuMDA0NDEKRzEgWDgyLjkzNiBZODkuNzgyIEUuMDEwNgpHMSBYODMuMDc3IFk4OS44ODYgRS4wMDQ1NwpHMSBYODMuMzQzIFk5MC4yMzQgRS4wMTE0MQpHMSBYODMuNjg5IFk5MC42MTIgRS4wMTMzNQpHMSBYODMuODM5IFk5MC43MzkgRS4wMDUxMgpHMSBYODQuMTA0IFk5MS4wODIgRS4wMTEyOQpHMSBYODQuODkzIFk5MS45NDYgRS4wMzA0OQpHMSBYODUuMzc1IFk5Mi41NDQgRS4wMjAwMQpHMSBYODYuMTIgWTkzLjQxIEUuMDI5NzYKRzEgWDg2LjE5OSBZOTMuNTg0IEUuMDA0OTgKRzEgWDg2LjMzMiBZOTMuNzExIEUuMDA0NzkKRzEgWDg2LjY1MiBZOTQuMTU1IEUuMDE0MjYKRzEgWDg2LjgxIFk5NC4xNjkgRS4wMDQxMwo7V0lEVEg6MC40MTkwMQpHMSBYODYuOTY4IFk5NC4xODQgRS4wMDM4MwpHMSBYODYuOTQgWTk0LjI2NSBFLjAwMjA3CjtXSURUSDowLjQ0OTk5OQpHMSBYODYuOTEyIFk5NC4zNDYgRS4wMDIyMwpHMSBYODcuMDczIFk5NC40NzIgRS4wMDUzMwpHMSBYODcuNDA0IFk5NC45NyBFLjAxNTU4CkcxIFg4Ny41NDcgWTk1LjMwMSBFLjAwOTM5CkcxIFg4Ny43OTIgWTk1Ljc0OSBFLjAxMzMKRzEgWDg3Ljk5NyBZOTYuMzEgRS4wMTU1NgpHMSBYODguMjMgWTk2LjgwNyBFLjAxNDMKRzEgWDg4LjYwNCBZOTcuODYzIEUuMDI5MTkKRzEgWDg4LjcwOCBZOTguMzU5IEUuMDEzMgpHMSBYODguODk5IFk5OC44NjYgRS4wMTQxMgpHMSBYODkuMzI3IFkxMDAuMzY1IEUuMDQwNjIKRzEgWDg5LjQ3NCBZMTAxLjExNyBFLjAxOTk2CkcxIFg4OS42MDggWTEwMS40ODcgRS4wMTAyNQpHMSBYODkuNzE3IFkxMDIuMTI3IEUuMDE2OTIKRzEgWDg5Ljc3NiBZMTAyLjY4NCBFLjAxNDU5CkcxIFg4OS43ODIgWTEwMi45ODYgRS4wMDc4NwpHMSBYODkuNzAxIFkxMDMuMjgzIEUuMDA4MDIKRzEgWDg5LjYyIFkxMDMuNzUzIEUuMDEyNDMKRzEgWDg5LjM4IFkxMDMuNjgxIEUuMDA2NTMKRzEgWDg5LjA4MiBZMTAzLjggRS4wMDgzNgpHMSBYODguOTc2IFkxMDMuOTI5IEUuMDA0MzUKRy42MDUgWTEzMi4wOTQgRS4wMTAzCkcxIFgxMTYuNTExIFkxMzIuNDE4IEUuMDA4NzkKRzEgWDExNi4xMzEgWTEzMy4wMDkgRS4wMTgzMQpHMSBYMTE2LjA5NyBZMTMzLjI1OSBFLjAwNjU3CkcxIFgxMTYuMDIyIFkxMzMuMzIxIEUuMDAyNTQKRzEgWDExNS45MjQgWTEzMy4zMjkgRS4wMDI1NgpHMSBYMTE1Ljg3MSBZMTMzLjQ3NiBFLjAwNDA3CkcxIFgxMTUuNzMzIFkxMzMuNTMgRS4wMDM4NgpHMSBYMTE1Ljc2NiBZMTMzLjg1NyBFLjAwODU2CkcxIFgxMTUuNzQ3IFkxMzQuMDU3IEUuMDA1MjMKRzEgWDExNS43MDggWTEzNC4yMDQgRS4wMDM5NgpHMSBYMTE1LjQ1NiBZMTM0LjU0NyBFLjAxMTA5CkcxIFgxMTUuMzY4IFkxMzQuNzc5IEUuMDA2NDcKRzEgWDExNS4yMTMgWTEzNC44NDIgRS4wMDQzNgpHMSBYMTE0Ljg5NCBZMTM0LjcyMiBFLjAwODg4CkcxIFgxMTQuODY0IFkxMzQuNTk0IEUuMDAzNDMKRzEgWDExNC41ODcgWTEzNC44NjQgRS4wMTAwOApHMSBYMTE0LjQ5MSBZMTM1LjAxMiBFLjAwNDYKRzEgWDExNC40ODIgWTEzNS4xNjggRS4wMDQwNwpHMSBYMTE0LjQyMyBZMTM1LjIyOCBFLjAwMjE5CkcxIFgxMTQuNDc1IFkxMzUuMzMxIEUuMDAzMDEKRzEgWDExNC4zNzggWTEzNS41OTEgRS4wMDcyMwpHMSBYMTE0LjA2NSBZMTM1Ljc4NyBFLjAwOTYyCkcxIFgxMTMuOSBZMTM1Ljc0OSBFLjAwNDQxCkcxIFgxMTMuODQ4IFkxMzUuNjIyIEUuMDAzNTgKRzEgWDExMy4wNzcgWTEzNi4yNDcgRS4wMjU4NgpHMSBYMTEyLjk1OSBZMTM2LjQzOSBFLjAwNTg3CkcxIFgxMTIuODgzIFkxMzYuNSBFLjAwMjU0CkcxIFgxMTIuNzgzIFkxMzYuNjg3IEUuMDA1NTMKRzEgWDExMi43NDIgWTEzNi42OTggRS4wMDExMQpHMSBYMTEyLjU0NyBZMTM3LjEyNSBFLjAxMjIzCkcxIFgxMTIuMzQ3IFkxMzcuMTcyIEUuMDA1MzUKRzEgWDExMi4yMTcgWTEzNy4xNjUgRS4wMDMzOQo7V0lEVEg6MC40NDgxNTcKRzEgWDExMi4xNTQgWTEzNy4wOTUgRS4wMDI0NAo7V0lEVEg6MC40MTkyMjYKRzEgWDExMi4wOTEgWTEzNy4wMjUgRS4wMDIyNwo7V0lEVEg6MC4zOTAyOTQKRzEgWDExMi4wOTQgWTEzNi45MzUgRS4wMDIwMQo7V0lEVEg6MC40MTEwOTUKRzEgWDExMi4wOSBZMTM3LjA4NyBFLjAwMzU5CjtXSURUSDowLjQ0OTk5OQpHMSBYMTEyLjA4NyBZMTM3LjIzOCBFLjAwMzk0CkcxIFgxMTEuOTYyIFkxMzcuNDc4IEUuMDA3MDUKRzEgWDExMS44MSBZMTM4LjA0NCBFLjAxNTI3CkcxIFgxMTEuNzQ1IFkxMzguMTQ3IEUuMDAzMTcKRzEgWDExMS41ODYgWTEzOC4yMjUgRS4wMDQ2MQpHMSBYMTExLjU0MyBZMTM4LjM1NSBFLjAwMzU3CkcxIFgxMTEuNjIzIFkxMzguNTI3IEUuMDA0OTQKRzEgWDExMS42MDQgWTEzOC44MDUgRS4wMDcyNgpHMSBYMTExLjU0NCBZMTM4LjkwMyBFLjAwMjk5CkcxIFgxMTEuNjI1IFkxMzkuMTM0IEUuMDA2MzgKRzEgWDExMS41OTMgWTEzOS43NTggRS4wMTYyOApHMSBYMTExLjY3MSBZMTQwLjM3MiBFLjAxNjEzCkcxIFgxMTEuNjExIFkxNDEuMDE1IEUuMDE2ODMKRzEgWDExMS40NzIgWTE0MS43RS4wMDg5MQpHMSBYMTIzLjgzNiBZODAuMjE2IEUuMDEwNDIKRzEgWDEyMy43MzggWTgwLjE4NCBFLjAwMjY5CkcxIFgxMjIuOTc0IFk4MC4xMzEgRS4wMTk5NQpHMSBYMTIyLjMxOCBZODAuMDIxIEUuMDE3MzMKRzEgWDEyMi4yMjEgWTc5Ljk0IEUuMDAzMjkKRzEgWDEyMS43MTIgWTc5Ljc2MSBFLjAxNDA2CkcxIFgxMjEuNjA2IFk3OS42OSBFLjAwMzMyCkcxIFgxMjEuMjY0IFk3OS42MTggRS4wMDkxMQpHMSBYMTIxLjIzMyBZNzkuNTUxIEUuMDAxOTIKRzEgWDEyMS4wMzMgWTc5LjQxMSBFLjAwNjM2CkcxIFgxMjAuNDI0IFk3OS4xMTIgRS4wMTc2OApHMSBYMTIwLjEzNyBZNzguODA3IEUuMDEwOTEKRzEgWDExOS42NDkgWTc4LjY4MiBFLjAxMzEzCkcxIFgxMTkuMTc2IFk3OC4zOTYgRS4wMTQ0CkcxIFgxMTguOTY3IFk3OC4xNiBFLjAwODIxCkcxIFgxMTguNjY2IFk3Ny43MzcgRS4wMTM1MwpHMSBYMTE4LjQyMSBZNzcuNTY0IEUuMDA3ODEKRzEgWDExOC4xNTMgWTc3LjUyNCBFLjAwNzA2CkcxIFgxMTcuOTk2IFk3Ny4zNTMgRS4wMDYwNQpHMSBYMTE3LjYxNCBZNzcuMTM1IEUuMDExNDYKRzEgWDExNy4zNzEgWTc2LjczIEUuMDEyMzEKRzEgWDExNy4xODMgWTc2LjUwNSBFLjAwNzY0CkcxIFgxMTYuOTI2IFk3Ni40MDMgRS4wMDcyCkcxIFgxMTYuODczIFk3Ni4yMDEgRS4wMDU0NApHMSBYMTE2LjY3MSBZNzUuOTc0IEUuMDA3OTIKRzEgWDExNi4yNTIgWTc1LjcyNyBFLjAxMjY3CkcxIFgxMTYuMTUxIFk3NC45MTQgRS4wMjEzNQpHMSBYMTE2LjEyNSBZNzQuMTQ1IEUuMDIwMDUKRzEgWDExNi4xOTcgWTczLjUzOCBFLjAxNTkzCkcxIFgxMTYuNTU0IFk3My43MzUgRS4wMTA2MgpHMSBYMTE2LjY2IFk3My43MzcgRS4wMDI3NgpHMSBYMTE2Ljc4MyBZNzMuODQgRS4wMDQxOApHMSBYMTE3LjE5NiBZNzMuOTc3IEUuMDExMzQKRzEgWDExNy41MDQgWTczLjkzMyBFLjAwODExCkcxIFgxMTcuNjk0IFk3My44MSBFLjAwNTkKRzEgWDExNy45MTggWTczLjQ1NiBFLjAxMDkyCkcxIFgxMTguMDM3IFk3My4xNDcgRS4wMDg2MwpHMSBYMTE4LjExNyBZNzIuNDQ3IEUuMDE4MzYKRzEgWDExOC4yMTMgWTcyLjQzNCBFLjAwMjUyCkcxIFgxMTguNDIxIFk3Mi4zMzcgRS4wMDU5OApHMSBYMTE4LjU4OCBZNzIuMTQ5IEUuMDA2NTUKRzEgWDExOC44ODQgWTcyLjE3OCBFLjAwNzc1CkcxIFgxMTkuMTcyIFk3Mi4wOTIgRS4wMDc4MwpHMSBYMTE5LjM4OCBZNzEuODggRS4wMDc4OQpHMSBYMTE5LjQ4NyBZNzEuNTUyIEUuMDA4OTMKRzEgWDExOS41NTkgWTcxLjU0NyBFLjAwMTg4CkcxIFgxMTkuNzg5IFk3MS40MzUgRS4wMDY2NwpHMSBYMTE5Ljk3IFk3MS4yMTEgRS4wMDc1CkcxIFgxMjAuMDgyIFk3MC44MDMgRS4wMTEwMgpHMSBYMTIwLjEyMSBZNzAuMzI5IEUuMDEyMzkKRzEgWDEyMC4zNTQgWTcwLjI2MSBFLjAwNjMyCkcxIFgxMjAuNTE1IFk3MC4xMSBFLjAwNTc1CkcxIFgxMjAuNjMzIFk2OS44MzIgRS4wMDc4NwpHMSBYMTIwLjczNiBZNjkuMjc1IEUuMDE0NzYKRzEgWDEyMC44MyBZNjkuMTMgRS4wMDQ1CkcuMDAzODEKRzEgWDEwMC4wODIgWTQ1LjA4NCBFLjAwMzI2CkcxIFg5OS42MzcgWTQ1LjQzNyBFLjAxNDgKRzEgWDk4Ljc1NSBZNDYuMjQ0IEUuMDMxMTUKRzEgWDk3LjQwNyBZNDcuNTU2IEUuMDQ5MDEKRzEgWDk2Ljg4NSBZNDguMTQ5IEUuMDIwNTgKRzEgWDk1Ljc2MSBZNDkuMTk2IEUuMDQwMDIKRzEgWDk0LjkxIFk1MC4xNDkgRS4wMzMyOQpHMSBYOTQuMDY4IFk1MS4wMzYgRS4wMzE4NwpHMSBYOTMuODc0IFk1MS4yODUgRS4wMDgyMgpHMSBYOTMuODE0IFk1MS40MTUgRS4wMDM3MwpHMSBYOTMuNzAyIFk1MS41MTQgRS4wMDM4OQpHMSBYOTMuNjM2IFk1MS42NDUgRS4wMDM4MgpHMSBYOTMuNTI0IFk1MS43MTkgRS4wMDM1CkcxIFg5My40NTEgWTUxLjg2OCBFLjAwNDMyCkcxIFg5My4zNCBZNTEuOTUzIEUuMDAzNjQKRzEgWDkyLjY3IFk1Mi44MTcgRS4wMjg0OQpHMSBYOTIuNDMgWTUzLjI0NCBFLjAxMjc2CkcxIFg5Mi4zNjcgWTUzLjI4MiBFLjAwMTkyCkcxIFg5Mi4yMzYgWTUzLjQ5NCBFLjAwNjQ5CkcxIFg5Mi4xMTIgWTUzLjYxNiBFLjAwNDUzCkcxIFg5MS43ODkgWTU0LjA5NiBFLjAxNTA3CkcxIFg5MS42MzYgWTU0LjQzMyBFLjAwOTY0CkcxIFg5MS41NzQgWTU0LjQ3NyBFLjAwMTk4CkcxIFg5MS40ODMgWTU0LjY2NiBFLjAwNTQ3CkcxIFg5MS4zMTkgWTU0Ljg1MiBFLjAwNjQ2CkcxIFg5MS4xMTQgWTU1LjMzMSBFLjAxMzU4CkcxIFg5MC43NjcgWTU1Ljg1NiBFLjAxNjQKRzEgWDkwLjYzNCBZNTYuMjA1IEUuMDA5NzMKRzEgWDkwLjU3OSBZNTYuMjQ4IEUuMDAxODIKRzEgWDkwLjM3MSBZNTYuNjUgRS4wMTE3OQpHMSBYOTAuMjUxIFk1Ny4wMjcgRS4wMTAzMQpHMSBYOTAuMTUxIFk1Ny4yMTIgRS4wMDU0OApHMSBYOTAuMDI0IFk1Ny42IEUuMDEwNjQKRzEgWDg5LjYwOCBZNTguNjY3IEUuMDI5ODQKRzEgWDg5LjUyOSBZNTkuMDA0IEUuMDA5MDIKRzEgWDg5LjQxNiBZNTkuMjc5IEUuMDA3NzUKRzEgWDg5LjI3NyBZNTkuOTA5IEUuMDE2ODEKRzEgWDg4Ljk0NCBZNjEuMTY1IEUuMDMzODYKRzEgWDg4LjcyNSBZNjIuNDYgRS4wMzQyMgpHMSBYODguNjU0IFk2My4wMjQgRS4wMTQ4MQpHMSBYODguNTc1IFk2My45NjUgRS4wMjQ2CkcxIFg4OC41NDggWTY0LjYwNSBFLjAxNjY5CkcxIFg4OC41NDQgWTY2LjQ2MSBFLjA0ODM2CkcxIFg4OC42MzcgWTY2Ljk2IEUuMDEzMjMKRzEgWDg4LjY5NSBZNjguMTE1IEUuMDMwMTMKRzEgWDg4LjYwNyBZNjguNDQ1IEUuMDA4OQpHMSBYODguNDU1IFk2OC41MjQgRS4wMDQ0NgpHMSBYODguMjMzIFk2OC40OTcgRS4wMDU4MwpHMSBYODguMTQzIFk2OC4zNzEgRS4wMDQwMwpHMSBYODguMDA5IFk2Ny44MzQgRS4wMTQ0MgpHMSBYODcuODMgWTY3LjI2NyBFLjAxNTQ5CkcxIFg4Ny41MzYgWTY1Ljg5MiBFLjAzNjY0CkcxIFg4Ny40NDQgWTY1LjIzIEUuMDE3NDEKRzEgWDg3LjM0OSBZNjQuMjIxIEUuMDI2NDEKRzEgWDg3LjM0NSBZNjMuNDcyIEUuMDE5NTIKRzEgWDg3LjI5OSBZNjIuNzM2IEUuMDE5MjEKRzEgWDg3LjQxMiBZNjIuMTgzIEUuMDE0NzEKR0Y0ODAwCkcxIFg3MC43MyBZODYuMTgyIEUuMDAzMzkKRzEgWDcwLjMzOCBZODUuODQzIEUuMDEwOTkKRzEgWDY5Ljg3MiBZODUuMjY0IEUuMDE1NzYKO1dJRFRIOjAuNDExMDk1CkcxIFg2OS43NzEgWTg1LjExNiBFLjAwNDIzCjtXSURUSDowLjQ0OTk5OQpHMSBYNjkuNjcxIFk4NC45NjggRS4wMDQ2NQpHMSBYNjYuNjk1IFk4MS45OTMgRS4xMDk2NAo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYNjkuMTQ1IFk4NC40NDIgRS0uOAo7V0lQRV9FTkQKRzEgWjEuMiBGNzIwCkcxIFg2Ny4zODggWTc5LjE0NCBGMTA4MDAKRzEgWi44IEY3MjAKRzEgRS44IEYyMTAwCkcxIEY0ODAwCkcxIFg2Ny4yODkgWTc5LjgzNSBFLjAxODE5CkcxIFg2Ny4xNzUgWTgwLjM2NyBFLjAxNDE4CkcxIFg2Ny4xMyBZODAuODcyIEUuMDEzMjEKRzEgWDY3LjA0NyBZODEuMzcgRS4wMTMxNQpHMSBYNjYuOTI4IFk4MS42MzUgRS4wMDc1NwpHMSBYNjkuMzM1IFk4NC4wNDIgRS4wODg2OQpHMSBYNjkuMjYgWTgzLjYyMiBFLjAxMTEyCkcxIFg2OS4zMzggWTgzLjEwOCBFLjAxMzU1CkcxIFg2OS41MzQgWTgyLjc2MSBFLjAxMDM4CkcxIFg2OS43MzQgWTgyLjYyNSBFLjAwNjMKRzEgWDY5LjU2IFk4Mi4wMDggRS4wMTY3CkcxIFg2OS4zNjMgWTgxLjE0NSBFLjAyMzA2CkcxIFg2OS4xNTcgWTc4Ljg2OCBFLjA1OTU3CkcxIFg2OS4wODQgWTc3LjI0NSBFLjA0MjMzCkcxIFg2OS4wOTQgWTc1LjM1NiBFLjA0OTIyCkcxIFg2OS4xNTMgWTc0LjgzNSBFLjAxMzY2CkcxIFg2OS4xODcgWTc0LjExMSBFLjAxODg5CkcxIFg2OS4yNzMgWTczLjYwNCBFLjAxMzQKRzEgWDY5LjQwMSBZNzIuNDU1IEUuMDMwMTIKRzEgWDY5LjU4MSBZNzEuNDk2IEUuMDI1NDIKRzEgWDY4Ljk4MyBZNzIuMjU1IEUuMDI1MTgKRzEgWDY4LjY5OSBZNzIuNjk5IEUuMDEzNzMKRzEgWDY4LjMyMSBZNzMuMDU1IEUuMDEzNTMKRzEgWDY3Ljk1OCBZNzMuNzU2IEUuMDIwNTcKRzEgWDY3Ljc0MiBZNzQuMjIxIEUuMDEzMzYKRzEgWDY3LjQ1MSBZNzQuNjQxIEUuMDEzMzEKRzEgWDY3LjMzIFk3NC45MzUgRS4wMDgyOApHMSBYNjcuNzU1IFk3NS4yNzIgRS4wMTQxMwpHMSBYNjguMDAzIFk3NS42NzggRS4wMTI0CkcxIFg2OC4xMTkgWTc2LjE4NSBFLjAxMzU1CkcxIFg2OC4xMDEgWTc2LjcwOSBFLjAxMzY2CkcxIFg2Ny42MDMgWTc4LjI5OCBFLjA0MzM5CkcxIFg2Ny40NCBZNzguOTQyIEUuMDE3MzEKRzEgWDY3Ljg0MSBZNzkuMDYgRS4wMTA4OQpHMSBYNjguMDEyIFk3OC4zODcgRS4wMTgwOQpHMSBYNjguMzg2IFk3Ny4yMjggRS4wMzE3Mwo7V0lEVEg6MC40ODk5NzkKRzEgWDY4LjQzNiBZNzcuMTI4IEUuMDAzMTkKO1dJRFRIOjAuNTI5OTU5CkcxIFg2OC40ODcgWTc3LjAyOCBFLjAwMzQ4CjtXSURUSDowLjU2OTkzOQpHMSBYNjguNTM3IFk3Ni45MjggRS4wMDM3NQo7V0lEVEg6MC42MDk5MTgKRzEgWDY4LjU4OCBZNzYuODI4IEUuMDA0MDQKRzEgWDY4LjYwNyBZNzYuOTM3IEUuMDAzOTkKO1dJRFRIOjAuNTY5OTM5CkcxIFg2OC42MjcgWTc3LjA0NiBFLjAwMzcyCjtXMmM3In0uZmEuZmEtdGhlcm1vbWV0ZXItMzpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS5mYS10aGVybW9tZXRlci0yOmJlZm9yZXtjb250ZW50OiJcZjJjOSJ9LmZhLmZhLXRoZXJtb21ldGVyLTE6YmVmb3Jle2NvbnRlbnQ6IlxmMmNhIn0uZmEuZmEtdGhlcm1vbWV0ZXItMDpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS5mYS1iYXRodHViOmJlZm9yZSwuZmEuZmEtczE1OmJlZm9yZXtjb250ZW50OiJcZjJjZCJ9LmZhLmZhLXdpbmRvdy1tYXhpbWl6ZSwuZmEuZmEtd2luZG93LXJlc3RvcmV7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA2IEZyZWUiO2ZvbnQtd2VpZ2h0OjQwMH0uZmEuZmEtdGltZXMtcmVjdGFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZjQxMCJ9LmZhLmZhLXdpbmRvdy1jbG9zZS1ve2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBGcmVlIjtmb250LXdlaWdodDo0MDB9LmZhLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZXtjb250ZW50OiJcZjQxMCJ9LmZhLmZhLXRpbWVzLXJlY3RhbmdsZS1ve2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBGcmVlIjtmb250LXdlaWdodDo0MDB9LmZhLmZhLXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZXtjb250ZW50OiJcZjQxMCJ9LmZhLmZhLWJhbmRjYW1wLC5mYS5mYS1lZXJjYXN0LC5mYS5mYS1ldHN5LC5mYS5mYS1ncmF2LC5mYS5mYS1pbWRiLC5mYS5mYS1yYXZlbHJ5e2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBCcmFuZHMiO2ZvbnQtd2VpZ2h0OjQwMH0uZmEuZmEtZWVyY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyZGEifS5mYS5mYS1zbm93Zmxha2Utb3tmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDYgRnJlZSI7Zm9udC13ZWlnaHQ6NDAwfS5mYS5mYS1zbm93Zmxha2UtbzpiZWZvcmV7Y29udGVudDoiXGYyZGMifS5mYS5mYS1tZWV0dXAsLmZhLmZhLXN1cGVycG93ZXJzLC5mYS5mYS13cGV4cGxvcmVye2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNiBCcmFuZHMiO2ZvbnQtd2VpZ2h0OjQwMH0KLmZhLWxheWVyc3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxLjI1ZW07aGVpZ2h0OjEuMjVlbTtsaW5lLWhlaWdodDoxLjI1ZW07dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mYS1sYXllcnMuZmEtZnc+Knt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5mYS1sYXllcnM+LmZhLC5mYS1sYXllcnM+LmZhLWxheWVycy10ZXh0LC5mYS1sYXllcnM+LmZhYiwuZmEtbGF5ZXJzPi5mYWQsLmZhLWxheWVycz4uZmFsLC5mYS1sYXllcnM+LmZhciwuZmEtbGF5ZXJzPi5mYXN7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjEwMCU7bGluZS1oZWlnaHQ6aW5oZXJpdDt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtbGF5ZXJzIFtkYXRhLWZhLXRyYW5zZm9ybSo9J3VwLTEnXXt0b3A6LTYuMjUlfS5mYS1sYXllcnMgW2RhdGEtZmEtdHJhbnNmb3JtKj0ndXAtMidde3RvcDotMTIuNSV9LmZhLWxheWVycyBbZGF0YS1mYS10cmFuc2Zvcm0qPSd1cC0zJ117dG9wOi0xOC43NSV9LmY3ODggWTE4OC44MDkgRS4wMDQwOQpHMSBYMTAxLjg0NCBZMTg4LjkxOSBFLjAwMzIyCkcxIFgxMDEuOTcyIFkxODguOTk1IEUuMDAzODgKRzEgWDEwMi4wNzUgWTE4OS4yNzEgRS4wMDc2OApHMSBYMTAyLjIxOCBZMTg5LjQ4MSBFLjAwNjYyCkcxIFgxMDIuMjI5IFkxODkuNjA2IEUuMDAzMjcKRzEgWDEwMi4zMTUgWTE4OS43MzYgRS4wMDQwNgpHMSBYMTAyLjYyOCBZMTg5Ljc4NiBFLjAwODI2CkcxIFgxMDIuOTE1IFkxODkuODg5IEUuMDA3OTQKRzEgWDEwMy4yMjQgWTE5MC40MjQgRS4wMTYxCkcxIFgxMDMuNjE5IFkxOTAuNDg5IEUuMDEwNDMKRzEgWDEwMy44NjMgWTE5MC43NDYgRS4wMDkyMwpHMSBYMTA0LjA0NSBZMTkwLjc5OCBFLjAwNDkzCkcxIFgxMDQuMDc0IFkxOTAuODY1IEUuMDAxOQpHMSBYMTA0LjMyNCBZMTkxLjE0MiBFLjAwOTcyCkcxIFgxMDQuNTQxIFkxOTEuNDU3IEUuMDA5OTcKRzEgWDEwNC44NjMgWTE5MS41NjkgRS4wMDg4OApHMSBYMTA1LjA3MiBZMTkxLjg0NyBFLjAwOTA2CkcxIFgxMDUuNTQ0IFkxOTEuOTI0IEUuMDEyNDYKRzEgWDEwNS45MTcgWTE5Mi4wNzcgRS4wMTA1CkcxIFgxMDYuMzkzIFkxOTIuMDgyIEUuMDEyNApHMSBYMTA2LjQ4NCBZMTkyLjkxOCBFLjAyMTkxCkcxIFgxMDYuNTc4IFkxOTMuMTQ2IEUuMDA2NDMKRzEgWDEwNi41OTYgWTE5My40NDYgRS4wMDc4MwpHMSBYMTA2LjczMiBZMTk0LjAxNCBFLjAxNTIyCkcxIFgxMDYuOTIxIFkxOTQuNDgyIEUuMDEzMTUKRzEgWDEwNi45OSBZMTk0LjYwNyBFLjAwMzcyCkcxIFgxMDcuMDIgWTE5NC44MjEgRS4wMDU2MwpHMSBYMTA3LjIwMSBZMTk1LjAxNSBFLjAwNjkxCkcxIFgxMDcuNDMyIFkxOTUuMzQxIEUuMDEwNDEKRzEgWDEwNy41MDMgWTE5NS41ODcgRS4wMDY2NwpHMSBYMTA3LjYxOCBZMTk1LjY4OSBFLjAwNDAxCkcxIFgxMDcuNjU5IFkxOTUuODM2IEUuMDAzOTgKRzEgWDEwNy43OCBZMTk1Ljk0NiBFLjAwNDI2CkcxIFgxMDcuODUzIFkxOTYuMDczIEUuMDAzODIKRzEgWDEwNy45NzYgWTE5Ni4xNjYgRS4wMDQwMgpHMSBYMTA4LjA2NiBZMTk2LjI5NCBFLjAwNDA4CkcxIFgxMDguMTg5IFkxOTYuMzcyIEUuMDAzNzkKRzEgWDEwOC4yODQgWTE5Ni40OTEgRS4wMDM5NwpHMSBYMTA4LjQ1OSBZMTk2LjU3NiBFLjAwNTA3CkcxIFgxMDguNTExIFkxOTYuNjc4IEUuMDAyOTgKRzEgWDEwOC43NiBZMTk2Ljc4MyBFLjAwNzA0CkcxIFgxMDguNzk3IFkxOTYuODM3IEUuMDAxNzEKRzEgWDEwOS4xMjggWTE5Ni45NTggRS4wMDkxOApHMSBYMTA5LjU3OCBZMTk3LjIzNCBFLjAxMzc1CkcxIFgxMTAuMDc2IFkxOTcuMzg0IEUuMDEzNTUKRzEgWDExMC40MzMgWTE5Ny40MiBFLjAwOTM1CkcxIFgxMTAuNzg1IFkxOTcuMzk2IEUuMDA5MTkKRzEgWDExMS4xNDggWTE5Ny40ODUgRS4wMDk3NApHMSBYMTExLjQwOCBZMTk3LjQ4NiBFLjAwNjc3CkcxIFgxMTEuNzEyIFkxOTcuMzkxIEUuMDA4MwpHMSBYMTExLjgwNSBZMTk3LjI4NSBFLjAwMzY3CkcxIFgxMTEuOTYyIFkxOTYuODEgRS4wMTMwMwpHMSBYMTEyLjA3OCBZMUcxIFgzNC45MDggWTkwLjA5OSBFLjA1ODMyCkcxIFgzNC44ODUgWTg5LjIzNSBFLjAyMjUyCkcxIFgzNC44MzIgWTg5LjAwMyBFLjAwNjIKRzEgWDM0Ljg1IFk4OC41NjkgRS4wMTEzMgpHMSBYMzQuODg0IFk4OC40IEUuMDA0NDkKRzEgWDM0LjgyOSBZODguMDYxIEUuMDA4OTUKRzEgWDM0LjU5IFk4Ny45MjQgRS4wMDcxOApHMSBYMzQuNTUxIFk4Ny43NjEgRS4wMDQzNwpHMSBYMzQuNjQ1IFk4Ny42MjEgRS4wMDQzOQpHMSBYMzQuODMxIFk4Ny41MzkgRS4wMDUzCkcxIFgzNC44NDIgWTg3LjI4NCBFLjAwNjY1CkcxIFgzNC42NzUgWTg3LjA0NCBFLjAwNzYyCkcxIFgzNC43NjMgWTg2LjU0OSBFLjAxMzEKRzEgWDM0Ljg4OSBZODYuMzA5IEUuMDA3MDYKRzEgWDM0LjkxIFk4NS41OTggRS4wMTg1MwpHMSBYMzQuODk3IFk4NS4wMDMgRS4wMTU1MQpHMSBYMzQuOTY1IFk4NC4zNzIgRS4wMTY1NApHMSBYMzUuMDQyIFk4NC4xOTYgRS4wMDUwMQpHMSBYMzQuOTY5IFk4NC4wMTIgRS4wMDUxNgpHMSBYMzQuOTc0IFk4My43NDYgRS4wMDY5MwpHMSBYMzUuMDgzIFk4My42MDMgRS4wMDQ2OApHMSBYMzQuOTYzIFk4My40MjEgRS4wMDU2OApHMSBYMzQuOTkyIFk4My4wOTIgRS4wMDg2MQpHMSBYMzUuMDkgWTgyLjkzMyBFLjAwNDg3CkcxIFgzNS4xMDEgWTgyLjc0MiBFLjAwNDk4CkcxIFgzNS4xOTUgWTgyLjYgRS4wMDQ0NApHMSBYMzUuMDk1IFk4Mi40MTIgRS4wMDU1NQpHMSBYMzUuMTE2IFk4MS41ODkgRS4wMjE0NQpHMSBYMzUuMiBZODEuMzggRS4wMDU4NwpHMSBYMzUuMTQgWTgxLjE2NCBFLjAwNTg0CkcxIFgzNS4yMDEgWTgxLjAyIEUuMDA0MDcKRzEgWDM1LjI5MSBZODAuOTU2IEUuMDAyODgKRzEgWDM1LjMxOCBZNzkuNzkgRS4wMzAzOQpHMSBYMzUuNDI0IFk3OS41OCBFLjAwNjEzCkcxIFgzNS40ODMgWTc5LjU0NiBFLjAwMTc3CkcxIFgzNS40ODMgWTc5LjI1NCBFLjAwNzYxCkcxIFgzNS4zNTcgWTc5LjEyOCBFLjAwNDY0CkcxIFgzNS4zMTggWTc5LjAxMyBFLjAwMzE2CkcxIFgzNS4yOTggWTc4LjQ2OSBFLjAxNDE4CkcxIFgzNS4xNzIgWTc4LjIwOSBFLjAwNzUzCkcxIFgzNS4xODMgWTc3LjkxMiBFLjAwNzc0CkcxIFgzNS4yNjIgWTc3LjgwOCBFLjAwMzQKRzEgWDM1LjMyOSBZNzcuNzgzIEUuMDAxODYKRzEgWDM1LjM0NyBZNzcuMjc2IEUuMDEzMjIKRzEgWDM1LjE3NSBZNzcuMDIzIEUuMDA3OTcKRzEgWDM1LjIyNSBZNzYuODU3IEUuMDA0NTIKRzEgWDM1LjM4MiBZNzYuNzgxIEUuMDA0NTQKRzEgWDM1LjUyNiBZNzYuNzQ4IEUuMDAzODUKRzEgWDM1LjY4NSBZNzYuNDM3IEUuMDA5MQpHMSBYMzUuNzExIFk3NiBFLjAxMTQxCkcxIFgzNS44MDEgWTc1LjQ4NCBFLjAxMzY1CkcxIFgzNS44OTggWTc1LjM0NiBFLjAwNDQKRzEgWDM1Ljk1OCBZNzQuNzg1IEUuMDE0NwpHMSBYMzYuMDA1IFk3NC42NjEgRS4wMDM0NgpHMSBYMzYuMjk2IFk3NC4zMDQgRS4wMTIKRzEgWDM2LjM3OSBZNzMuMzIyIEUuMDI1NjgKRzEgWDM2LjUwOSBZNzMuMTI5IEUuMDA2MDYKRzEgWDM2LjUyMSBZNzIuNjc4IEUuWDE2Mi41NzUgWTE2OS4yNzYgRS4wMDU1MQpHMSBYMTYyLjk3NyBZMTY5LjM1MiBFLjAxMDY2CkcxIFgxNjMuMTc5IFkxNjkuNDQ1IEUuMDA1NzkKRzEgWDE2My44NzQgWTE2OS41MzcgRS4wMTgyNwpHMSBYMTY0LjMxOSBZMTY5LjY0OCBFLjAxMTk1CkcxIFgxNjUuNjg5IFkxNjkuNjc5IEUuMDM1NzEKRzEgWDE2Ni41NDggWTE2OS42MDQgRS4wMjI0NwpHMSBYMTY2Ljg1NSBZMTY5LjQ0NyBFLjAwODk4CkcxIFgxNjcuMjMyIFkxNjkuNDAxIEUuMDA5OQpHMSBYMTY3LjM5NCBZMTY5LjI1MSBFLjAwNTc1CkcxIFgxNjcuNzM0IFkxNjkuMjA5IEUuMDA4OTMKRzEgWDE2OC4wMDIgWTE2OS4wMjQgRS4wMDg0OQpHMSBYMTY4LjA4MiBZMTY5LjAwOSBFLjAwMjEyCkcxIFgxNjguMTg0IFkxNjguODg1IEUuMDA0MTgKRzEgWDE2OC41NjEgWTE2OC43NSBFLjAxMDQzCkcxIFgxNjggWTE2OC42MjggRS4wMTQ5NgpHMSBYMTY3LjU0MiBZMTY4LjQ2NSBFLjAxMjY3CkcxIFgxNjcuNDI3IFkxNjguMzkgRS4wMDM1OApHMSBYMTY2Ljk3NyBZMTY4LjIxNyBFLjAxMjU2CkcxIFgxNjYuNjY4IFkxNjguMTYgRS4wMDgxOQpHMSBYMTY2LjIxMiBZMTY3Ljk4NSBFLjAxMjczCkcxIFgxNjUuODE4IFkxNjcuODkyIEUuMDEwNTUKRzEgWDE2NS40MyBZMTY3LjcxMyBFLjAxMTEzCkcxIFgxNjQuNjcxIFkxNjcuNDkzIEUuMDIwNTkKRzEgWDE2NC4xOTQgWTE2Ny4yODcgRS4wMTM1NApHMSBYMTYzLjUwMSBZMTY3LjAyNiBFLjAxOTI5CkcxIFgxNjEuNTQgWTE2Ni4xOTMgRS4wNTU1MQpHMSBYMTYwLjkyNSBZMTY2LjAwMSBFLjAxNjc5CkcxIFgxNjAuODEyIFkxNjUuOTExIEUuMDAzNzYKRzEgWDE2MC43OCBZMTY1LjYxNCBFLjAwNzc4Ck0yMDQgUzEwMDAKRzEgWDE2MC42ODMgWTE2NS40NzYgRjEwODAwCjtXSVBFX1NUQVJUCkcxIEY4NjQwCkcxIFgxNjAuODI1IFkxNjUuNDQ2IEUtLjA0MDE2CkcxIFgxNjEuMjM1IFkxNjUuMyBFLS4xMDA0OQpHMSBYMTYxLjM1MyBZMTY1LjI5NSBFLS4wMjcyNwpHMSBYMTYxLjQ1MyBZMTY1LjE5NCBFLS4wMzI4MgpHMSBYMTYxLjk2MyBZMTY1LjA2NyBFLS4xMjEzNgpHMSBYMTYyLjI2OCBZMTY0LjkwNiBFLS4wNzk2NApHMSBYMTYzLjQ5OSBZMTY0LjQ2MSBFLS4zMDIyNApHMSBYMTYzLjcxIFkxNjQuMzQyIEUtLjA1NTkzCkcxIFgxNjMuODgyIFkxNjQuMzIxIEUtLjA0MDA5CjtXSVBFX0VORApHMSBaMi4xIEY3MjAKRzEgWDE4Mi4yNTIgWTE1OC43OTUgRjEwODAwCkcxIFoxLjcgRjcyMApHMSBFLjggRjIxMDAKTTIwNCBTODAwCkcxIEYxNTAwCkcxIFgxODIuMTQ1IFkxNTguNzkzIEUuMDAyNzkKRzEgWDE4MS45NDMgWTE1OC42MTQgRS4wMDcwMwo7V0lEVEg6MC40NDk2MDIKRzEgWDE4MS45MDYgWTE1OC4xNzEgRS4wMTE1Nwo7V0lEVEg6MC40Mjc2NzIKRzEgWDE4Mi4wMDUgWTE1Ny40MiBFLjAxODY4CjtXSURUSDowLjM5NjAxOQpHMSBYMTgyLjAzOSBZMTU3LjMxNCBFLjAwMjUzCkcxIFgxODIuMjE5IFkxNTYuNzc3IEUuMDEyODUKO1dJRFRIOjAuNDAzNzg0CkcxIFgxODIuNDk2IFkxNTYgWTExOS43NTMgRS4wMzUxOQpHMSBGMTQ4Ny4zMzUKRzEgWDEzMS4zMTUgWTExOS45MTEgRS4wMDcyNwpHMSBGMTQ2NC4yMzgKRzEgWDEzMS4xOTggWTEyMC4yNjEgRS4wMDk2MgpHMSBGMTUwMApHMSBYMTI5LjY1NCBZMTIwLjI2OSBFLjA0MDIzCkcxIFgxMjkuNTg0IFkxMjAuMjM5IEUuMDAxOTgKRzEgWDEyOS41ODUgWTExOC40NjcgRS4wNDYxNwpHMSBYMTI5LjYyMSBZMTE4LjQyIEUuMDAxNTQKRzEgWDEzMC42MDcgWTExOC4yOTIgRS4wMjU5MQpHMSBYMTMyLjAxMiBZMTE4LjA1NSBFLjAzNzEzCkcxIFgxMzMuMTY1IFkxMTcuNzk5IEUuMDMwNzcKRzEgWDEzNC4yMTYgWTExNy41MTUgRS4wMjgzNwpHMSBYMTM1LjEzMSBZMTE3LjA5NiBFLjAyNjIyCkcxIFgxMzUuNzA4IFkxMTYuNzI0IEUuMDE3ODkKRzEgWDEzNi4wOTIgWTExNi4zMTcgRS4wMTQ1OApHMSBYMTM2LjIyNSBZMTE1LjkzOSBFLjAxMDQ0CkcxIFgxMzYuMjEzIFk5NC4xNzggRS41NjcKCk0yMDQgUzEwMDAKRzEgWDEzNi4zNzggWTk0LjAxOSBGMTA4MDAKO1dJUEVfU1RBUlQKRzEgRjg2NDAKRzEgWDEzNi4yMDcgWTkzLjkyNSBFLS4wNTg0MwpHMSBYMTM1Ljk0NSBZOTMuNDkgRS0uMTE3MjUKRzEgWDEzNS41MDQgWTkzLjEyNyBFLS4xMzE4OQpHMSBYMTM0Ljg4IFk5Mi43NzggRS0uMTY1MDkKRzEgWDEzNC4yMTYgWTkyLjQ4NiBFLS4xNjc0OQpHMSBYMTMzLjU0OCBZOTIuMzA1IEUtLjE1OTg1CjtXSVBFX0VORApHMSBaMTUuNDUgRjcyMApHMSBYMTM1LjU2NCBZOTIuMDY2IEYxMDgwMApHMSBaMTUuMDUgRjcyMApHMSBFLjggRjIxMDAKO1RZUEU6U29saWQgaW5maWxsCkcxIEY0ODAwCkcxIFgxMzYuNzUxIFk5Mi40ODQgRS4wMzI3OQpHMSBYMTM3LjM5MSBZOTIuNzM4IEUuMDE3OTQKRzEgWDEzNy40MjggWTkyLjg0OCBFLjAwMzAyCkcxIFgxMzcuNjY5IFk5My4xNTggRS4wMTAyMwpHMSBYMTM4LjEyOCBZOTMuNDI5IEUuMDEzODkKRzEgWDEzOC43MDQgWTkzLjkxOCBFLjAxOTY5CkcxIFgxMzkuMDIgWTk0LjM0MiBFLjAxMzc4CkcxIFgxMzkuMTc0IFk5NC44MDQgRS4wMTI2OQpHMSBYMTM5LjE5IFk5NS42NDMgRS4wMjE4NgpHMSBYMTM5LjE4NyBZMTE0Ljk2MyBFLjUwMzQKRzEgWDEzOS4xMSBZMTE1LjQ2MyBFLjAxMzE4CkcxIFgxMzguODAzIFkxMTUuOTUzIEUuMDE1MDcKRzEgWDEzOC41NDMgWTExNi4yMjggRS4wMDk4NgpHMSBYMTM3LjY2MSBZMTE2LjkwMSBFLjAyODkxCkcxIFgxMzcuNDk0IFkxMTcuMjIzIEUuMDA5NDUKRzEgWDEzNi44MjEgWTExNy40OTIgRS4wMTg4OApHMSBYMTM1LjM0MyBZMTE4LjAwOCBFLjA0MDc5CkcxIFgxMzUuMTk4IFkxMTcuOTk5IEUuMDAzNzkKRzEgWDEzNS4yOSBZMTE3Ljg5MiBFLjAwMzY4CkcxIFgxMzYuMTI3IFkxMTcuMzk5IEUuMDI1MzEKRzEgWDEzNi41MyBZMTE3LjAyMiBFLjAxNDM4CkcxIFgxMzYuOCBZMTE2LjY2IEUuMDExNzcKRzEgWDEzNi45NDggWTExNi4zMDkgRS4wMDk5MwpHMSBYMTM3LjAxOSBZMTE1LjkzNSBFLjAwOTkyCkcxIFgxMzcuMDE5IFk5Ni4xNzEgRS41MTQ5NwpHMUdIVDowLjE1CjtCRUZPUkVfTEFZRVJfQ0hBTkdFCkc5MiBFMC4wCjsxMS43NQoKCjtXSVBFX1NUQVJUCkcxIEY4NjQwCkcxIFgxMjMuMzg3IFk5MS4yMzIgRS0uMDY2MjUKRzEgWDEyMy4wMzQgWTkxLjI3OCBFLS4wODIyCkcxIFgxMjIuNjgyIFk5MS4zMjQgRS0uMDgxOTcKRzEgWDEyMi41OTEgWTkxLjM2MiBFLS4wMjI3NwpHMSBYMTIyLjUwMSBZOTEuNCBFLS4wMjI1NgpHMSBYMTIyLjQxMSBZOTEuNDM4IEUtLjAyMjU2CkcxIFgxMjIuMzIxIFk5MS40NzcgRS0uMDIyNjUKRzEgWDEyMS41NDYgWTkxLjU4NSBFLS4xODA2OApHMSBYMTIwLjc3IFk5MS42OTQgRS0uMTgwOTQKRzEgWDEyMC4yNjYgWTkxLjc2NSBFLS4xMTc0Mgo7V0lQRV9FTkQKRzEgWjEyIEY3MjAKO0FGVEVSX0xBWUVSX0NIQU5HRQo7MTEuNzUKOyBwcmludGluZyBvYmplY3QgM2RiZW5jaHkuc3RsIGlkOjAgY29weSAwCkcxIFg5Ny4zNjkgWTEwMy40NTkgRjEwODAwCkcxIFoxMS43NSBGNzIwCkcxIEUuOCBGMjEwMApNMjA0IFM4MDAKO1RZUEU6RXh0ZXJuYWwgcGVyaW1ldGVyCjtXSURUSDowLjM5MTA2OApHMSBGMTUwMApHMSBYOTcuNzAxIFkxMDMuNTAzIEUuMDA3NQo7V0lEVEg6MC4zOTc4NjgKRzEgWDk4LjE5MiBZMTAzLjcyNCBFLjAxMjI4CjtXSURUSDowLjM5ODAyMQpHMSBYOTguNTM5IFkxMDQuMDM3IEUuMDEwNjYKO1dJRFRIOjAuNDA5MDIKRzEgWDk4Ljc3NCBZMTA0LjQyNSBFLjAxMDY2CjtXSURUSDowLjQxMTIyCkcxIFg5OC44NjkgWTEwNC43NiBFLjAwODIzCkcxIFg5OC44OSBZMTA1LjA0MiBFLjAwNjY4CjtXSURUSDowLjQxMjY0OApHMSBYOTguODQ5IFkxMDUuMzQxIEUuMDA3MTYKRzEgWDk4LjcwNSBZMTA1LjcxOSBFLjAwOTYKO1dJRFRIOjAuNDAwNDU5CkcxIFg5OC40MDIgWTEwNi4xMTMgRS4wMTE0Mgo7V0lEVEg6MC4zOTczMjcKRzEgWDk3Ljk3NSBZMTA2LjM5NCBFLjAxMTY0CjtXSURUSDowLjQwMTg5CkcxIFg5Ny41MjIgWTEwNi41MjggRS4wMTA4OQpHMSBYOTcuMTgxIFkxMDYuNTUgRS4wMDc4OAo7V0lEVEg6MC4zOTM0NzIKRzEgWDk2LjY2MSBZMTA2LjQzMiBFLjAxMjAxCjtXSURUSDowLjQwMzk3MwoKRzEgWDk2LjM0NiBZMTA2LjI2NiBFLjAwODI2CkcxIFg5Ni4wNTcgWTEwNi4wMiBFLjAwODgKCjtXSURUSDowLjQwNDQ1NAoKRzEgWDk1Ljc4MSBZMTA1LjU4MiBFLjAxMjAyCgo7V0lEVEg6MC40MTM4NDYKRzEgWDk1LjY4MSBZMTA1LjIzOCBFLjAwODUzCkcxIFg5NS42NjcgWTEwNC44NTkgRS4wMDkwMwo7V0lEVEg6MC40MDU1NTYKRzEgWDk1LjgwOCBZMTA0LjM1NCBFLjAxMjIxCjtXSURUSDowLjQxMDE1CkcxIFg5NS45NzQgWTEwNC4wODYgRS4wMDc0MwpHMSBYOTYuMzM0IFkxMDMuNzQzIEUuMDExNzIKO1dJRFRIOjAuMzkxOTU5CkcxIFg5Ni43OSBZMTAzLjUyMSBFLjAxMTM4CjtXSURUSDowLjM5MTM2OQpHMSBYOTcuMjk3IFkxMDMuNDUgRS4wMTE0Nwo7V0lEVEg6MC4zOTEwNjgKRzEgWDk3LjMwOSBZMTAzLjQ1MSBFLjAwMDI3Ck0yMDQgUzEwMDAKRzEgWDk3LjU1MiBZMTAzLjg0MSBGMTA4YXR1cy1iYXItc3R5bGUiIGNvbnRlbnQ9ImJsYWNrIiAvPgogICAgICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXRpdGxlIiBjb250ZW50PSJNYWluc2FpbCIgLz4KICAgICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvaW1nL2ljb25zL2FwcGxlLXRvdWNoLWljb24tMTgweDE4MC5wbmciIC8+CiAgICAgICAgPGxpbmsgcmVsPSJtYXNrLWljb24iIGhyZWY9ImltZy9pY29ucy9zYWZhcmktcGlubmVkLXRhYi5zdmciIGNvbG9yPSIjZDUxZjI2IiAvPgogICAgICAgIDxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSIvaW1nL2ljb25zL21zdGlsZS0xNTB4MTUwLnBuZyIgLz4KICAgICAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iI2Q1MWYyNiIgLz4KCiAgICAgICAgCiAgICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIiBjcm9zc29yaWdpbiBzcmM9Ii9hc3NldHMvaW5kZXgtYjk2OGRkNjUuanMiPjwvc2NyaXB0PgogICAgICA8bGluayByZWw9Im1vZHVsZXByZWxvYWQiIGNyb3Nzb3JpZ2luIGhyZWY9Ii9hc3NldHMvdnVldGlmeS00YzY1YjRjMy5qcyI+CiAgICAgIDxsaW5rIHJlbD0ibW9kdWxlcHJlbG9hZCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9vdmVybGF5c2Nyb2xsYmFycy00NGQ4N2JjZi5qcyI+CiAgICAgIDxsaW5rIHJlbD0ibW9kdWxlcHJlbG9hZCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9lY2hhcnRzLTliYzU3MGIwLmpzIj4KICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3Z1ZXRpZnktOTUwZDFjYjAuY3NzIj4KICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL292ZXJsYXlzY3JvbGxiYXJzLWExNmJjM2QzLmNzcyI+CiAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Fzc2V0cy9pbmRleC01NDcwZjNlNC5jc3MiPgogICAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0iL21hbmlmZXN0LndlYm1hbmlmZXN0Ij4NCjwhLS0gT2N0b0V2ZXJ5d2hlcmUgSW5qZWN0ZWQgVUkgLS0+PHNjcmlwdCBhc3luYyBjcm9zc29yaWdpbiBzcmM9Ii9vZS91aS5mY2NjZDJmZjA0LmpzIj48L3NjcmlwdD48bGluayBjcm9zc29yaWdpbiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9vZS91aS5mY2NjZDJmZjA0LmNzcyI+DQo8L2hlYWQ+CiAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzEyMTIxMiI+CiAgICAgICAgPG5vc2NyaXB0PgogICAgICAgICAgICA8c3Ryb25nPgogICAgICAgICAgICAgICAgV2UncmUgc29ycnkgYnV0IE1haW5zYWlsIGRvZXNuJ3Qgd29yayBwcm9wZXJseSB3aXRob3V0IEphdmFTY3JpcHQgZW5hYmxlZC4gUGxlYXNlIGVuYWJsZSBpdCB0byBjb250aW51ZS4KICAgICAgICAgICAgPC9zdHJvbmc+CiAgICAgICAgPC9ub3NjcmlwdD4KICAgICAgICA8ZGl2IGlkPSJhcHAiPjwvZGl2PgogICAgPC9ib2R5Pgo8L2h0bWw+CnsiY29tbWFuZCJlbmRlcmluZz0hMSx0aGlzLl9wcm9qZWN0aW9uTWF0cml4PW5ldyBOLHRoaXMuX3Bvc3RQcm9jZXNzZXM9bmV3IEFycmF5LHRoaXMuX2FjdGl2ZU1lc2hlcz1uZXcgcXQoMjU2KSx0aGlzLl9nbG9iYWxQb3NpdGlvbj12Llplcm8oKSx0aGlzLl9jb21wdXRlZFZpZXdNYXRyaXg9Ti5JZGVudGl0eSgpLHRoaXMuX2RvTm90Q29tcHV0ZVByb2plY3Rpb25NYXRyaXg9ITEsdGhpcy5fdHJhbnNmb3JtTWF0cml4PU4uWmVybygpLHRoaXMuX3JlZnJlc2hGcnVzdHVtUGxhbmVzPSEwLHRoaXMuX2Fic29sdXRlUm90YXRpb249Z2UuSWRlbnRpdHkoKSx0aGlzLl9pc0NhbWVyYT0hMCx0aGlzLl9pc0xlZnRDYW1lcmE9ITEsdGhpcy5faXNSaWdodENhbWVyYT0hMSx0aGlzLmdldFNjZW5lKCkuYWRkQ2FtZXJhKHRoaXMpLHMmJiF0aGlzLmdldFNjZW5lKCkuYWN0aXZlQ2FtZXJhJiYodGhpcy5nZXRTY2VuZSgpLmFjdGl2ZUNhbWVyYT10aGlzKSx0aGlzLnBvc2l0aW9uPXQsdGhpcy5yZW5kZXJQYXNzSWQ9dGhpcy5nZXRTY2VuZSgpLmdldEVuZ2luZSgpLmNyZWF0ZVJlbmRlclBhc3NJZCgiQ2FtZXJhICIuY29uY2F0KGUpKX1zdG9yZVN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlU3RvcmVkPSEwLHRoaXMuX3N0b3JlZEZvdj10aGlzLmZvdix0aGlzfV9yZXN0b3JlU3RhdGVWYWx1ZXMoKXtyZXR1cm4gdGhpcy5fc3RhdGVTdG9yZWQ/KHRoaXMuZm92PXRoaXMuX3N0b3JlZEZvdiwhMCk6ITF9cmVzdG9yZVN0YXRlKCl7cmV0dXJuIHRoaXMuX3Jlc3RvcmVTdGF0ZVZhbHVlcygpPyh0aGlzLm9uUmVzdG9yZVN0YXRlT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnModGhpcyksITApOiExfWdldENsYXNzTmFtZSgpe3JldHVybiJDYW1lcmEifXRvU3RyaW5nKGUpe2xldCB0PSJOYW1lOiAiK3RoaXMubmFtZTtpZih0Kz0iLCB0eXBlOiAiK3RoaXMuZ2V0Q2xhc3NOYW1lKCksdGhpcy5hbmltYXRpb25zKWZvcihsZXQgaT0wO2k8dGhpcy5hbmltYXRpb25zLmxlbmd0aDtpKyspdCs9IiwgYW5pbWF0aW9uWzBdOiAiK3RoaXMuYW5pbWF0aW9uc1tpXS50b1N0cmluZyhlKTtyZXR1cm4gdH1hcHBseVZlcnRpY2FsQ29ycmVjdGlvbigpe2NvbnN0IGU9dGhpcy5hYnNvbHV0ZVJvdGF0aW9uLnRvRXVsZXJBbmdsZXMoKTt0aGlzLnByb2plY3Rpb25QbGFuZVRpbHQ9dGhpcy5fc2NlbmUudXNlUmlnaHRIYW5kZWRTeXN0ZW0/LWUueDplLnh9Z2V0IGdsb2JhbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX2dsb2JhbFBvc2l0aW9ufWdldEFjdGl2ZU1lc2hlcygpe3JldHVybiB0aGlzLl9hY3RpdmVNZXNoZXN9aXNBY3RpdmVNZXNoKGUpe3JldHVybiB0aGlzLl9hY3RpdmVNZXNoZXMuaW5kZXhPZihlKSE9PS0xfWlzUmVhZHkoZT0hMSl7aWYoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcG9zdFByb2Nlc3NlcylpZih0JiYhdC5pc1JlYWR5KCkpcmV0dXJuITF9cmV0dXJuIHN1cGVyLmlzUmVhZHkoZSl9X2luaXRDYWNoZSgpe3N1cGVyLl9pbml0Q2FjaGUoKSx0aGlzLl9jYWNoZS5wb3NpdGlvbj1uZXcgdihOdW1iZXIuTUFYX1ZBTFVFLE51bWlzLmludGVybmFsVmFsdWU9aX19fSxlKTpudWxsKX0sZ2VuU2xpZGVyKHQpe3JldHVybiB0aGlzLmhpZGVTbGlkZXI/bnVsbDoodHx8KHQ9dGhpcy4kY3JlYXRlRWxlbWVudChabSx7cHJvcHM6e2NvbG9yOnRoaXMuc2xpZGVyQ29sb3J9fSkpLHRoaXMuJGNyZWF0ZUVsZW1lbnQoImRpdiIse3N0YXRpY0NsYXNzOiJ2LXRhYnMtc2xpZGVyLXdyYXBwZXIiLHN0eWxlOnRoaXMuc2xpZGVyU3R5bGVzfSxbdF0pKX0sb25SZXNpemUoKXt0aGlzLl9pc0Rlc3Ryb3llZHx8KGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpLHRoaXMucmVzaXplVGltZW91dD13aW5kb3cuc2V0VGltZW91dCh0aGlzLmNhbGxTbGlkZXIsMCkpfSxwYXJzZU5vZGVzKCl7bGV0IHQ9bnVsbCxlPW51bGw7Y29uc3QgaT1bXSxzPVtdLG49dGhpcy4kc2xvdHMuZGVmYXVsdHx8W10scj1uLmxlbmd0aDtmb3IobGV0IGE9MDthPHI7YSsrKXtjb25zdCBvPW5bYV07aWYoby5jb21wb25lbnRPcHRpb25zKXN3aXRjaChvLmNvbXBvbmVudE9wdGlvbnMuQ3Rvci5vcHRpb25zLm5hbWUpe2Nhc2Uidi10YWJzLXNsaWRlciI6ZT1vO2JyZWFrO2Nhc2Uidi10YWJzLWl0ZW1zIjp0PW87YnJlYWs7Y2FzZSJ2LXRhYi1pdGVtIjppLnB1c2gobyk7YnJlYWs7ZGVmYXVsdDpzLnB1c2gobyl9ZWxzZSBzLnB1c2gobyl9cmV0dXJue3RhYjpzLHNsaWRlcjplLGl0ZW1zOnQsaXRlbTppfX19LHJlbmRlcih0KXtjb25zdHt0YWI6ZSxzbGlkZXI6aSxpdGVtczpzLGl0ZW06bn09dGhpcy5wYXJzZU5vZGVzKCk7cmV0dXJuIHQoImRpdiIse3N0YXRpY0NsYXNzOiJ2LXRhYnMiLGNsYXNzOnRoaXMuY2xhc3NlcyxkaXJlY3RpdmVzOlt7bmFtZToicmVzaXplIixtb2RpZmllcnM6e3F1aWV0OiEwfSx2YWx1ZTp0aGlzLm9uUmVzaXplfV19LFt0aGlzLmdlbkJhcihlLGkpLHRoaXMuZ2VuSXRlbXMocyxuKV0pfX0pLFFtPXgoZ3Qsd2UoInRhYnNCYXIiKSxMKSxQZz1RbS5leHRlbmQoKS5leHRlbmQoKS5leHRlbmQoe25hbWU6InYtdGFiIixwcm9wczp7cmlwcGxlOnt0eXBlOltCb29sZWFuLE9iamVjdF0sZGVmYXVsdDohMH0sdGFiVmFsdWU6e3JlcXVpcmVkOiExfX0sZGF0YTooKT0+KHtwcm94eUNsYXNzOiJ2LXRhYi0tYWN0aXZlIn0pLGNvbXB1dGVkOntjbGFzc2VzKCl7cmV0dXJueyJ2LXRhYiI6ITAsLi4uZ3Qub3B0aW9ucy5jb21wdXRlZC5jbGFzc2VzLmNhbGwodGhpcyksInYtdGFiLS1kaXNhYmxlZCI6dGhpcy5kaXNhYmxlZCwuLi50aGlzLmdyb3VwQ2xhc3Nlc319LHZhbHVlKCl7aWYodGhpcy50YWJWYWx1ZSE9bnVsbClyZXR1cm4gdGhpcy50YWJWYWx1ZTtsZXQgdD10aGlzLnRvfHx0aGlzLmhyZWY7cmV0dXJuIHQ9PW51bGw/dDoodGhpcy4kcm91dGVyJiZ0aGlzLnRvPT09T2JqZWN0KHRoaXMudG8pJiYodD10aGlzLiRyb3V0ZXIucmVzb2x2ZSh0aGlzLnRvLHRoaXMuJHJvdXRlLHRoaXMuYXBwZW5kKS5ocmVmKSx0LnJlcGxhY2UoIiMiLCIiKSl9fSxtZXRob2RzOntjbGljayh0KXtpZih0aGlzLmRpc2FibGVkKXt0LnByZXZlbnREZWZhdWx0KCk7Ljk2MSBZMTQyLjg3NyBFLjAwODgxCkcxIFgxNTMuMDUxIFkxNDIuNzczIEUuMDAzNTgKRzEgWDE1My4xNjIgWTE0Mi43NDcgRS4wMDI5NwpHMSBYMTUzLjIyIFkxNDIuNjEyIEUuMDAzODMKRzEgWDE1My4yODkgWTE0Mi41NzggRS4wMDIKRzEgWDE1My4zMDYgWTE0Mi40ODkgRS4wMDIzNgpHMSBYMTUzLjU5IFkxNDIuMDg5IEUuMDEyNzgKRzEgWDE1My45NTcgWTE0MS42OSBFLjAxNDEzCkcxIFgxNTQuMDA3IFkxNDEuNTkzIEUuMDAyODQKRzEgWDE1NC4xMjQgWTE0MS40OTEgRS4wMDQwNApHMSBYMTU0LjE4OCBZMTQxLjM3NiBFLjAwMzQzCkcxIFgxNTQuMjk5IFkxNDEuMzEgRS4wMDMzNgpHMSBYMTU0LjM3OSBZMTQxLjE0NSBFLjAwNDc4CkcxIFgxNTQuNDkzIFkxNDEuMDkxIEUuMDAzMjkKRzEgWDE1NC41NzEgWTE0MC45NCBFLjAwNDQzCkcxIFgxNTQuNjg1IFkxNDAuODc1IEUuMDAzNDIKRzEgWDE1NC43NzggWTE0MC43MjEgRS4wMDQ2OQpHMSBYMTU0Ljg1NSBZMTQwLjY3MSBFLjAwMjM5CkcxIFgxNTQuOTU0IFkxNDAuNTI0IEUuMDA0NjIKRzEgWDE1NS40NTIgWTEzOS45NDUgRS4wMTk5CkcxIFgxNTUuNzM4IFkxMzkuNTE2IEUuMDEzNDMKRzEgWDE1NS43OTcgWTEzOS4zOTIgRS4wMDM1OApHMSBYMTU1LjkxIFkxMzkuMjg2IEUuMDA0MDQKRzEgWDE1Ni4wMDggWTEzOS4xMzkgRS4wMDQ2CkcxIFgxNTYuMjA2IFkxMzguOTg2IEUuMDA2NTIKRzEgWDE1Ni4zMjIgWTEzOC44NjkgRS4wMDQyOQpHMSBYMTU2LjQ2OCBZMTM4LjYyIEUuMDA3NTIKRzEgWDE1Ni41NjQgWTEzOC40OTkgRS4wMDQwMgpHMSBYMTU2LjkwOSBZMTM3Ljg5OSBFLjAxODAzCkcxIFgxNTcuMTc0IFkxMzcuMzkgRS4wMTQ5NQpHMSBYMTU3LjMxNSBZMTM2Ljk3NyBFLjAxMTM3CkcxIFgxNTcuNDUgWTEzNi43ODQgRS4wMDYxNApHMSBYMTU3LjUwOCBZMTM2LjQwOSBFLjAwOTg5CkcxIFgxNTcuNjI0IFkxMzYuMTg0IEUuMDA2NgpHMSBYMTU3LjY3NiBZMTM1Ljc3NSBFLjAxMDc0CkcxIFgxNTcuNzk3IFkxMzUuNTQ1IEUuMDA2NzcKRzEgWDE1Ny44NzUgWTEzNS4xMyBFLjAxMQpHMSBYMTU3Ljk4MyBZMTM0Ljg4IEUuMDA3MQpHMSBYMTU4LjA4MSBZMTM0LjQ3NyBFLjAxMDgxCkcxIFgxNTguMTg1IFkxMzQuMjUxIEUuMDA2NDgKRzEgWDE1OC4yNTcgWTEzMy45NTggRS4wMDc4NgpHMSBYMTU4LjM4OCBZMTMzLjcwMSBFLjAwNzUyCkcxIFgxNTguNDkzIFkxMzMuMzU4IEUuMDA5MzUKRzEgWDE1OC43NyBZMTMyLjgwNyBFLjAxNjA3CkcxIFgxNTguODM5IFkxMzIuNzUyIEUuMDAyMwpHMSBYMTU5LjU1OSBZMTMxLjU0NCBFLjAzNjY0CkcxIFgxNjAuMDE1IFkxMzAuOTExIEUuMDIwMzMKRzEgWDE2MC4xNzYgWTEzMC41NSBFLjAxMDMKRzEgWDE2MC40NTggWTEzMC4xMjkgRS4wMTMyCkcxIFgxNjAuNzk2IFkxMjkuNDU1IEUuMDE5NjUKRzEgWDE2MS4wMyBZMTI4LjkxOSBFLjAxNTI0CkcxIFgxNjEuMzggWTEyNy45IEUuMDI4MDcKRzEgWDE2MS42MjUgWTEyNi42MzkgRS4wMzM0NwpHMSBYMTYxLjcwOSBZMTI1LjkwNyBFLjAxOTIKRzE4CkcxIFg0Ny44OTQgWTE3My42MjYgRS4wMTI4MgpHMSBYNDcuNDQ2IFkxNzQuNTE1IEUuMDI1OTQKRzEgWDQ2Ljk5OCBZMTc1LjI1MiBFLjAyMjQ3CkcxIFg0Ni41NSBZMTc1LjcwNSBFLjAxNjYKRzEgWDQ2LjEwMSBZMTc1Ljk5OSBFLjAxMzk4CkcxIFg0NS4yMDUgWTE3Ni4zNTcgRS4wMjUxNApHMSBYNDQuNzU2IFkxNzYuNDQxIEUuMDExOQpHMSBYNDQuMzA4IFkxNzYuMjQgRS4wMTI3OQpHMSBYNDMuODYgWTE3NS4zNTEgRS4wMjU5NApHMSBYNDMuNDEyIFkxNzQuNjE0IEUuMDIyNDcKRzEgWDQyLjk2MyBZMTc0LjE2MSBFLjAxNjYyCkcxIFg0Mi41MTUgWTE3My44NjcgRS4wMTM5NgpHMSBYNDEuNjE4IFkxNzMuNTA5IEUuMDI1MTYKRzEgWDQxLjE3IFkxNzMuNDI1IEUuMDExODgKRzEgWDQwLjcyMiBZMTczLjYyNiBFLjAxMjc5CkcxIFg0MC4yNzQgWTE3NC41MTUgRS4wMjU5NApHMSBYMzkuODI1IFkxNzUuMjUyIEUuMDIyNDkKRzEgWDM5LjM3NyBZMTc1LjcwNSBFLjAxNjYKRzEgWDM4LjkyOSBZMTc1Ljk5OSBFLjAxMzk2CkcxIFgzOC4wMzIgWTE3Ni4zNTcgRS4wMjUxNgpHMSBYMzcuNTg0IFkxNzYuNDQxIEUuMDExODgKRzEgWDM3LjEzNiBZMTc2LjI0IEUuMDEyNzkKRzEgWDM2LjY4NyBZMTc1LjM1MSBFLjAyNTk1CkcxIFgzNi4yMzkgWTE3NC42MTQgRS4wMjI0NwpHMSBYMzUuNzkxIFkxNzQuMTYxIEUuMDE2NgpHMSBYMzUuMzQyIFkxNzMuODY3IEUuMDEzOTgKRzEgWDM0LjQ0NiBZMTczLjUwOSBFLjAyNTE0Ck03MyBQNTEgUjIzMApHMSBYMzMuOTk4IFkxNzMuNDI1IEUuMDExODgKRzEgWDMzLjU0OSBZMTczLjYyNiBFLjAxMjgyCkcxIFgzMy4xMDEgWTE3NC41MTUgRS4wMjU5NApHMSBYMzIuNjUzIFkxNzUuMjUyIEUuMDIyNDcKRzEgWDMyLjIwNCBZMTc1LjcwNSBFLjAxNjYyCkcxIFgzMS43NTYgWTE3NS45OTkgRS4wMTM5NgpHMSBYMzAuODYgWTE3Ni4zNTcgRS4wMjUxNApHMSBYMzAuNDExIFkxNzYuNDQxIEUuMDExOQpHMSBYMjkuOTYzIFkxNzYuMjQgRS4wMTI3OQpHMSBYMjkuNTE1IFkxNzUuMzUxIEUuMDI1OTQKRzEgWDI5LjA2NiBZMTc0LjYxNCBFLjAyMjQ5CkcxIFgyOC42MTggWTE3NC4xNjEgRS4wMTY2CkcxIFgyOC4xNyBZMTczLjg2NyBFLjAxMzk2CkcxIFgyNy4yNzMgWTE3My41MDkgRS4wMjUxNgpHMSBYMjYuODI1IFkxNzMuNDI1IEUuMDExODgKRzEgWDI2LjM3NyBZMTczLjYyNiBFLjAxMjc5CkcxIFgyNi4wMTkgWTE3NC4zMzYgRS4wMjA3MgpHMSBYMjYuMDE5IFkxNzkuOTg3IEUuMTQ3MjQKRzEgWDI2LjM3NyBZMTc5LjgyNiBFLjAxMDIzCkcxIFgyNi44MjUgWTE3OC45MzcgRS4wMjU5NApHMSBYMjcuMjczIFkxNzguMjAxIEUuMDIyNDUKRzEgWDI3LjcyMiBZMTc3Ljc0NyBFLjAxNjY0CkcxIFgyOC4xNyBZMTc3LjQ1MyBFLjAxMzk2CkcxIFgyOS4wNjYgWTE3Ny4wOTYgRS4wMjUxMwpHMSBYMjkuNTE1IFkxNzcuMDExIEUuMDExOTEKRzEgWDI5Ljk2MyBZMTc3LjIxMyBFLjAxMjgKRzEgWDMwLjQxMSBZMTc4LjEwMSBFLjAyNTkyCkcxIFgzMC44NiBZMTc4LjgzOCBFLn0udGhlbWUtLWRhcmsudi1saXN0IC52LWxpc3QtLWRpc2FibGVke2NvbG9yOiNmZmZmZmY4MH0udGhlbWUtLWRhcmsudi1saXN0IC52LWxpc3QtZ3JvdXAtLWFjdGl2ZTpiZWZvcmUsLnRoZW1lLS1kYXJrLnYtbGlzdCAudi1saXN0LWdyb3VwLS1hY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZDojZmZmZmZmMWZ9LnYtc2hlZXQudi1saXN0e2JvcmRlci1yYWRpdXM6MH0udi1zaGVldC52LWxpc3Q6bm90KC52LXNoZWV0LS1vdXRsaW5lZCl7Ym94LXNoYWRvdzowIDAgIzAwMDMsMCAwICMwMDAwMDAyNCwwIDAgIzAwMDAwMDFmfS52LXNoZWV0LnYtbGlzdC52LXNoZWV0LS1zaGFwZWR7Ym9yZGVyLXJhZGl1czowfS52LWxpc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjhweCAwO3Bvc2l0aW9uOnN0YXRpYzt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjI4cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udi1saXN0LS1kaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS52LWxpc3QtLWZsYXQgLnYtbGlzdC1pdGVtOmJlZm9yZXtkaXNwbGF5Om5vbmV9LnYtbGlzdC0tZGVuc2UgLnYtc3ViaGVhZGVye2ZvbnQtc2l6ZTouNzVyZW07aGVpZ2h0OjQwcHg7cGFkZGluZzowIDhweH0udi1saXN0LS1uYXYgLnYtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSwudi1saXN0LS1yb3VuZGVkIC52LWxpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCl7bWFyZ2luLWJvdHRvbTo4cHh9LnYtbGlzdC0tbmF2LnYtbGlzdC0tZGVuc2UgLnYtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSwudi1saXN0LS1uYXYgLnYtbGlzdC1pdGVtLS1kZW5zZTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCksLnYtbGlzdC0tcm91bmRlZC52LWxpc3QtLWRlbnNlIC52LWxpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCksLnYtbGlzdC0tcm91bmRlZCAudi1saXN0LWl0ZW0tLWRlbnNlOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKXttYXJnaW4tYm90dG9tOjRweH0udi1saXN0LS1uYXZ7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweH0udi1saXN0LS1uYXYgLnYtbGlzdC1pdGVte3BhZGRpbmc6MCA4cHh9LnYtbGlzdC0tbmF2IC52LWxpc3QtaXRlbSwudi1saXN0LS1uYXYgLnYtbGlzdC1pdGVtOmJlZm9yZXtib3JkZXItcmFkaXVzOjRweH0udi1hcHBsaWNhdGlvbi0taXMtbHRyIC52LWxpc3Qudi1zaGVldC0tc2hhcGVkIC52LWxpc3QtaXRlbSwudi1hcHBsaWNhdGlvbi0taXMtbHRyIC52LWxpc3Qudi1zaGVldC0tc2hhcGVkIC52LWxpc3QtaXRlbTpiZWZvcmUsLnYtYXBwbGljYXRpb24tLWlzLWx0ciAudi1saXN0LnYtc2hlZXQtLXNoYXBlZCAudi1saXN0LWl0ZW0+LnYtcmlwcGxlX19jb250YWluZXJ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MzJweCFpbXBvcnRhbnQ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MzJweCFpbXBvcnRhbnR9LnYtYXBwbGljYXRpb24tLWlzLXJ0bCAudi1sWDE5OS4wNTQgWTE0Ni45ODkgRS4wMDM4MwpHMSBYMTk4Ljk3NiBZMTQ3LjE1OSBFLjAwNDg3CkcxIFgxOTguNjc0IFkxNDcuMzgxIEUuMDA5NzcKRzEgWDE5OC41MjQgWTE0Ny40MjcgRS4wMDQwOQpHMSBYMTk4LjIxOCBZMTQ3LjYyMSBFLjAwOTQ0CkcxIFgxOTcuNzE3IFkxNDcuNjg1IEUuMDEzMTYKRzEgWDE5Ny41MzYgWTE0Ny41ODggRS4wMDUzNQpNMjA0IFMxMDAwCkcxIFgxOTcuMTM4IFkxNDcuNjQ0IEYxMDgwMAo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTk3LjM0NSBZMTQ3LjIzMyBFLS4wOTMwOApHMSBYMTk3LjQ0MSBZMTQ2Ljc4MSBFLS4xMDY3CkcxIFgxOTcuNDY1IFkxNDYuNzQ4IEUtLjAwOTQyCkcxIFgxOTcuNDI2IFkxNDYuNTUxIEUtLjA0NjM3CkcxIFgxOTcuNTE2IFkxNDYuMzEzIEUtLjA1ODc1CkcxIFgxOTcuNjQyIFkxNDYuMjQ2IEUtLjAzMjk1CkcxIFgxOTcuNjg2IFkxNDYuMDY1IEUtLjA0MzAxCkcxIFgxOTcuODU2IFkxNDUuODk0IEUtLjA1NTY4CkcxIFgxOTcuOTE2IFkxNDUuNjU4IEUtLjA1NjIzCkcxIFgxOTguMjYxIFkxNDUuNDc0IEUtLjA5MDI4CkcxIFgxOTguNTI5IFkxNDUuNDA0IEUtLjA2Mzk2CkcxIFgxOTguNzE2IFkxNDUuNDIyIEUtLjA0MzM4CkcxIFgxOTguNzYxIFkxNDUuNDgzIEUtLjAxNzUKRzEgWDE5OS4wMTkgWTE0NS40MTYgRS0uMDYxNTUKRzEgWDE5OS4xMDggWTE0NS40MzggRS0uMDIxMTQKO1dJUEVfRU5ECkcxIFoxLjk1IEY3MjAKRzEgWDE4OC40NDggWTE1MC4zMzQgRjEwODAwCkcxIFoxLjU1IEY3MjAKRzEgRS44IEYyMTAwCk0yMDQgUzgwMAo7VFlQRTpQZXJpbWV0ZXIKRzEgRjE1MDAKRzEgWDE4OC41MjEgWTE1MC4yNiBFLjAwMjcxCkcxIFgxODguODg3IFkxNTAuMDk1IEUuMDEwNDYKRzEgWDE4OS4xNDcgWTE1MC4xMDMgRS4wMDY3OApHMSBYMTg5LjU5NSBZMTUwLjM0NCBFLjAxMzI1CkcxIFgxOTAuMTM3IFkxNTAuOTIyIEUuMDIwNjUKRzEgWDE5MC40NjkgWTE1MS4zNTggRS4wMTQyOApHMSBYMTkwLjk3OCBZMTUyLjM1NiBFLjAyOTE5CkcxIFgxOTEuMjA5IFkxNTMuMjMxIEUuMDIzNTgKRzEgWDE5MS4yNjIgWTE1My43NjkgRS4wMTQwOQpHMSBYMTkxLjI0MSBZMTU0LjQ4IEUuMDE4NTMKRzEgWDE5MS4wNTUgWTE1NS4zMTcgRS4wMjIzNApHMSBYMTkwLjgxMSA8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iPgogIDxoZWFkPgogICAgPHNjcmlwdD5zZWxmWyJNb25hY29FbnZpcm9ubWVudCJdID0gKGZ1bmN0aW9uIChwYXRocykgewogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZ2xvYmFsQVBJOiBmYWxzZSwKICAgICAgICAgICAgZ2V0V29ya2VyVXJsIDogZnVuY3Rpb24gKG1vZHVsZUlkLCBsYWJlbCkgewogICAgICAgICAgICAgIHZhciByZXN1bHQgPSAgcGF0aHNbbGFiZWxdOwogICAgICAgICAgICAgIGlmICgvXigoaHR0cDopfChodHRwczopfChmaWxlOil8KFwvXC8pKS8udGVzdChyZXN1bHQpKSB7CiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFVybCA9IFN0cmluZyh3aW5kb3cubG9jYXRpb24pOwogICA3NTUgRS4wMDk3NQpHMSBYNzAuNTcxIFkxMDcuNjMgRS4wMDM2MQpHMSBYNzEuNSBZMTA3Ljk3NSBFLjAyNTgyCkcxIFg3MS44OTQgWTEwOC4wODMgRS4wMTA2NApHMSBYNzIuMDY2IFkxMDguMTc5IEUuMDA1MTMKRzEgWDcyLjQ5OSBZMTA4LjMgRS4wMTE3MQpHMSBYNzMuMDQgWTEwOC41NTIgRS4wMTU1NQpHMSBYNzMuMzU5IFkxMDguNjUyIEUuMDA4NzEKRzEgWDc0LjQ4NiBZMTA5LjE2OCBFLjAzMjMKRzEgWDc0Ljk4NCBZMTA5LjMwOCBFLjAxMzQ4CkcxIFg3NS4wODcgWTEwOS4zODMgRS4wMDMzMgpHMSBYNzUuNTg0IFkxMDkuNTc2IEUuMDEzODkKRzEgWDc1Ljg0OCBZMTA5LjU5OCBFLjAwNjkKRzEgWDc2LjA4NSBZMTA5LjUxNyBFLjAwNjUzCkcxIFg3Ni4yNTUgWTEwOS4zNiBFLjAwNjAzCkcxIFg3Ni40MDMgWTEwOS4zOTQgRS4wMDM5NgpHMSBYNzcuMzA1IFkxMDkuNzYyIEUuMDI1MzgKRzEgWDc3LjgyMiBZMTEwLjE3NiBFLjAxNzI2CkcxIFg3OC4yNjMgWTExMC4zNjMgRS4wMTI0OApHMSBYNzguNDYgWTExMC41MTIgRS4wMDY0NApHMSBYNzkuMjI5IFkxMTEuMTk1IEUuMDI2OApHMSBYNzkuNzEyIFkxMTEuNzE1IEUuMDE4NDkKRzEgWDgwLjAxNiBZMTEyLjE0NSBFLjAxMzcyCkcxIFg4MC4zNzYgWTExMi42MDIgRS4wMTUxNgpHMSBYODAuNTkxIFkxMTMuMDY1IEUuMDEzMwpHMSBYODAuOTkgWTExMy44MDUgRS4wMjE5MQpHMSBYODEuMjYgWTExNC4yNjMgRS4wMTM4NQpHMSBYODEuNDc0IFkxMTQuNDY4IEUuMDA3NzIKRzEgWDgxLjc5NiBZMTE0LjYxNSBFLjAwOTIyCkcxIFg4MS43MjcgWTExNC44MzQgRS4wMDU5OApHMSBYODEuNzIyIFkxMTUuMTQ3IEUuMDA4MTYKRzEgWDgyLjA4IFkxMTYuMTIxIEUuMDI3MDQKRzEgWDgyLjU4NCBZMTE3LjYxMiBFLjA0MTAxCkcxIFg4Mi42ODcgWTExNy43OTkgRS4wMDU1NgpHMSBYODIuNzgxIFkxMTguMTc0IEUuMDEwMDcKRzEgWDgyLjg3IFkxMTguMzQzIEUuMDA0OTgKRzEgWDgyLjk4IFkxMTguODQ4IEUuMDEzNDcKRzEgWDgzLjA3NiBZMTE5LjA0OCBFLjAwNTc4CkcxIFg4My4yMyBZMTE5LjE5OSBFLjAwNTYyCkcxIFg4My41MDIgWTExOS4zMDQgRS4wMDc2CkcxIFg4My43OTcgWTExOS4yNzIgRS4wMDc3MwpHMSBYODQuMTM2IFkxMTkuMDU0IEUuMDEwNQpHMSBYODQuMjk5IFkxMTguODc3IEUuMDA2MjcKRzEgWDg0LjM5IFkxMTguNTg0IEUuMDA3OTkKRzEgWDg0LjM2NiBZMTE4LjM3NyBFLjAwNTQzCkcxIFg4NC4yMDUgWTExNy44MTYgRS4wMTUyMQpHMSBYODQuMTIgWTExNy42MzcgRS4wMDUxNgpHMSBYODQuMDY2IFkxMTcuMzQ1IEUuMDA3NzQKRzEgWDgzLjc0MiBZMTE2LjQyMSBFLjAyNTUxCkcxIFg4My42ODggWTExNi4wODIgRS4wMDg5NApHMSBYODMuNTE2IFkxMTUuNzI1IEUuMDEwMzMKRzEgWDgzLjI1OSBZMTE1LjA3NiBFLjAxODE5CkcxIFg4Mi45NTcgWTExNC41MTEgRS4wMTY2OQpHMSBYODIuNzQ5IFkxMTQuMjczIEUuMDA4MjQKRzEgWDgyLjUxNyBZMTE0LjIwOSBFLjAwNjI3CkcxIFg4Mi42MTYgWTExMy45ODkgRS4wMDYyOQpHMUg6MC40Mjg5MQpHMSBGMjcwMApHMSBYMTcxLjI3NSBZMTM1LjY5NiBFLjAwNzM1CjtXSURUSDowLjM5ODY0NQpHMSBYMTcxLjE0OSBZMTM1LjkxOCBFLjAwNTgzCk0yMDQgUzEwMDAKO1dJUEVfU1RBUlQKRzEgRjg2NDAKRzEgWDE3MS4yNzUgWTEzNS42OTYgRS0uMDU4OTQKRzEgWDE3MS40MDEgWTEzNS40NzMgRS0uMDU5MTQKRzEgWDE3MS40MTUgWTEzNS40MzQgRS0uMDA5NTcKO1dJUEVfRU5ECkcxIEUtLjY3MjM1IEYyMTAwCkcxIFoxLjggRjcyMApHMSBYMTUzLjc0NSBZMTAwLjQ1NCBGMTA4MDAKRzEgWjEuNCBGNzIwCkcxIEUuOCBGMjEwMApNMjA0IFM4MDAKO1RZUEU6RXh0ZXJuYWwgcGVyaW1ldGVyCjtXSURUSDowLjQ0OTk5OQpHMSBGMTUwMApHMSBYMTUzLjQ3NyBZMTAwLjQ0NiBFLjAwNjk5CkcxIFgxNTMuNDE1IFkxMDAuNDA3IEUuMDAxOTEKRzEgWDE1My4zNjIgWTEwMC4zMDIgRS4wMDMwNgpHMSBYMTUzLjEyMiBZMTAwLjM1IEUuMDA2MzgKRzEgWDE1Mi45NjYgWTEwMC4yNTcgRS4wMDQ3MwpHMSBYMTUyLjg3MSBZOTkuNjU0IEUuMDE1OTEKRzEgWDE1Mi44MjQgWTk5LjQ5NSBFLjAwNDMyCkcxIFgxNTIuNzUyIFk5OS41OSBFLjAwMzExCkcxIFgxNTIuNTE5IFk5OS41OTQgRS4wMDYwNwpHMSBYMTUyLjM3MyBZOTkuNDk2IEUuMDA0NTgKRzEgWDE1Mi4yOTggWTk5LjA0NCBFLjAxMTk0CkcxIFgxNTIuMTE3IFk5OS4wNTcgRS4wMDQ3MwpHMSBYMTUxLjk5NiBZOTguOTMgRS4wMDQ1NwpHMSBYMTUxLjkwNSBZOTguNjExIEUuMDA4NjQKRzEgWDE1MS44ODIgWTk4LjA2MiBFLjAxNDMyCkcxIFgxNTEuNjIxIFk5OC4wNTQgRS4wMDY4CkcxIFgxNTEuNTQzIFk5Ny45MTcgRS4wMDQxMQpHMSBYMTUxLjQ5MyBZOTcuNjY3IEUuMDA2NjQKRzEgWDE1MS4yNjMgWTk3LjA2MiBFLjAxNjg2CkcxIFgxNTAuOTk2IFk5Ni45MDUgRS4wMDgwNwpHMSBYMTUwLjg1MiBZOTYuNTI0IEUuMDEwNjEKRzEgWDE1MC43MTcgWTk2LjM3MSBFLjAwNTMyCkcxIFgxNTAuNDM4IFk5NS43MzkgRS4wMTgKRzEgWDE1MC4yODQgWTk1LjYzMSBFLjAwNDkKRzEgWDE1MC4xNjUgWTk1LjE1NyBFLjAxMjczCkcxIFgxNTAuMDQ3IFk5NS4wNDkgRS4wMDQxNwpHMSBYMTUwLjAwMSBZOTQuNzY4IEUuMDA3NDIKO1dJRFRIOjAuNDkxNjYyCkcxIFgxNTAuMDQ5IFk5NC42NTYgRS4wMDM0OQo7V0lEVEg6MC41MzMzMjQKRzEgWDE1MC4wOTYgWTk0LjU0NCBFLjAwMzgKO1dJRFRIOjAuNTc0OTg3CkcxIFgxNTAuMTQzIFk5NC40MzIgRS4wMDQxMQo7V0lEVEg6MC42MTY2NDkKCkcxIFgxNTAuMTkxIFk5NC4zMiBFLjAwNDQ0CkcxIFgxNTAuOTExIFk5NC4yMjYgRS4wMjY0NwoKO1dJRFRIOjAuNjAyMzA4CgpHMSBYMTUxLjI3MSBZOTQuMTg3IEUuMDEyODcKRzEgWDE1MS44MzUgWTk0LjAzIEUuMDIwODEKCjtXSURUSDowLjU5MTA1MQpHMSBYMTUyLjQ0IFk5My44ODMgRS4wMjE3CjtXSURUSDowLjU4NzU5NApHMSBYMTUzLjIxNCBZOTMuNjU5IEUuMDI3OTEKO1dJRFRIOjAuNTU0MDI2CkcxIFgxNTMuMzY4IFk5My43MDcgRS4wMDUyNQo7WTE1Mi42MTggRS0uMDA5OApHMSBYMTM0LjE2NyBZMTUyLjU0NyBFLS4wMTY5NwpHMSBYMTM0LjIzOCBZMTUyLjU2NiBFLS4wMTY5NwpHMSBYMTM0LjI4NCBZMTUyLjQyMyBFLS4wMzQ2OQpHMSBYMTM0LjMyOSBZMTUyLjI4MSBFLS4wMzQ0CkcxIFgxMzYuNDM0IFkxNTAuMTc3IEUtLjY4NzE3CjtXSVBFX0VORApHMSBaMS42NSBGNzIwCkcxIFgxMzAuODExIFkxNTIuNDY1IEYxMDgwMApHMSBaMS4yNSBGNzIwCkcxIEUuOCBGMjEwMAo7V0lEVEg6MC40NDk5OTkKRzEgRjQ4MDAKRzEgWDEzMC44MTMgWTE1Mi43NyBFLjAwNzk1CkcxIFgxMzAuOTQgWTE1My4yNTUgRS4wMTMwNgpHMSBYMTMxLjE4OCBZMTUzLjcgRS4wMTMyNwpHMSBYMTMxLjQ1NSBZMTUzLjk4IEUuMDEwMDgKRzEgWDEzMS45MjYgWTE1NC4yMDcgRS4wMTM2MgpHMSBYMTMyLjMwOCBZMTU0LjIzNyBFLjAwOTk4CkcxIFgxMzIuMzQ3IFkxNTQuMzAzIEUuMDAyCkcxIFgxMzIuNTQyIFkxNTQuNzg2IEUuMDEzNTcKRzEgWDEzMi43OTUgWTE1NS4yNyBFLjAxNDIzCkcxIFgxMzMuMTk1IFkxNTYuMjA2IEUuMDI2NTIKRzEgWDEzMy4zMzMgWTE1Ni40NDUgRS4wMDcxOQpHMSBYMTMzLjU1OCBZMTU2Ljk3NyBFLjAxNTA1CkcxIFgxMzMuNzQxIFkxNTcuNTAyIEUuMDE0NDkKRzEgWDEzMy45NDcgWTE1OC4wMDUgRS4wMTQxNgpHMSBYMTMzLjc4IFkxNTguMTU1IEUuMDA1ODUKRzEgWDEzMy42MTQgWTE1OC42NjcgRS4wMTQwMgpHMSBYMTMzLjY1NiBZMTU5LjIyNSBFLjAxNDU4CkcxIFgxMzMuNzkgWTE1OS43MTkgRS4wMTMzNApHMSBYMTM0LjAxOCBZMTYwLjI3NCBFLjAxNTYzCkcxIFgxMzEuMzk5IFkxNjIuODkzIEUuMDk2NTEKRzEgWDEzMS40NzggWTE2Mi42OSBFLjAwNTY4CkcxIFgxMzEuNTczIFkxNjIuMDMgRS4wMTczNwpHMSBYMTMxLjY4OCBZMTYxLjY1OSBFLjAxMDEyCkcxIFgxMzEuNzY2IFkxNjAuNTcyIEUuMDI4NApHMSBYMTMxLjg2MiBZMTU5Ljk2MyBFLjAxNjA2CkcxIFgxMzEuODUxIFkxNTkuNDQ2IEUuMDEzNDcKRzEgWDEzMS43NTEgWTE1OC44OTIgRS4wMTQ2NwpHMSBYMTMxLjY3OCBZMTU4LjMxMSBFLjAxNTI2CkcxIFgxMzEuNDc2IFkxNTcuNzI1IEUuMDE2MTUKRzEgWDEzMS40NDEgWTE1Ny4zMDQgRS4wMTEwMQpHMSBYMTMxLjM1MiBZMTU3LjA4NCBFLjAwNjE4CkcxIFgxMzEuMDIzIFkxNTUuOTk5IEUuMDI5NTQKRzEgWDEzMC41NzEgWTE1NC45ODMgRS4wMjg5NwpHMSBYMTMwLjI0OSBZMTU0LjQ3OCBFLjAxNTYxCkcxIFgxMjkuOTUzIFkxNTQuMDcxIEUuMDEzMTEKRzEgWDEyOS42ODYgWTE1My44OTIgRS4wMDgzOApHMSBYMTI5LjY0NyBZMTUzLjY5NCBFLjAwNTI2CkcxIFgxMjkuNTY5IFkxNTMuNDk3IEUuMDA1NTIKRzEgWDEzMC44MSBZMTUyLjI1NiBFLjA0NTczCkcxIFgxMzAuNDgxIFkxNTMuMTg2IEYxMDgwMAo7V0lEVEg6MC40NjYzMzcKRzEgRjQ4MDAKRzEgWDEzMC4wNjQgWTE1My42MDQgRS4wMTU5OQpHMSBYMTMwLjMzOCBZMTUzLjg3IEUuMDEwMzQKO1dJRFRIOjAuNDQ4Njk5CkcxIFgxMzAuNzk2IFkxNTQuNTY1IFkxMDAuODc3IEUuMDMxNDYKRzEgWDE5Ni4wNTIgWTEwMS4zNTYgRS4wMTk5NgpHMSBYMTk1LjQ4NCBZMTAxLjczNCBFLjAxNzc4CkcxIFgxOTQuNDUxIFkxMDIuMzU0IEUuMDMxMzkKRzEgWDE5My4yNTMgWTEwMi45NSBFLjAzNDg2CkcxIFgxOTIuMTY3IFkxMDMuMzg0IEUuMDMwNDcKRzEgWDE5MC44MDcgWTEwMy44NTUgRS4wMzc1CkcxIFgxODkuNjg1IFkxMDQuMjEyIEUuMDMwNjgKRzEgWDE4OS4xNDEgWTEwNC4zMzIgRS4wMTQ1MgpHMSBYMTg4Ljc2OSBZMTA0LjQ5MiBFLjAxMDU1CkcxIFgxODguNDg5IFkxMDQuNTQgRS4wMDc0CkcxIFgxODcuODgxIFkxMDQuNzI3IEUuMDE2NTcKRzEgWDE4Ni45NTIgWTEwNC45NTQgRS4wMjQ5MgpHMSBYMTg2LjU1NSBZMTA1LjEwNCBFLjAxMTA2CkcxIFgxODYuMjU2IFkxMDUuMTQ1IEUuMDA3ODYKRzEgWDE4NS4yMDEgWTEwNS40NjcgRS4wMjg3NApHMSBYMTg0LjY4MiBZMTA1LjU4MyBFLjAxMzg2CkcxIFgxODMuNDM0IFkxMDUuOTQyIEUuMDMzODQKRzEgWDE4Mi45NDUgWTEwNi4xMjMgRS4wMTM1OQpHMSBYMTgyLjMwOCBZMTA2LjMyNyBFLjAxNzQzCkcxIFgxODEuMTYgWTEwNi42MTkgRS4wMzA4NgpHMSBYMTc4LjUwNiBZMTA3LjY1NyBFLjA3NDI1CkcxIFgxNzguMDY5IFkxMDcuOTE5IEUuMDEzMjgKRzEgWDE3Ny45MiBZMTA3Ljk4OCBFLjAwNDI4CkcxIFgxNzcuMzQ4IFkxMDguMzkzIEUuMDE4MjYKRzEgWDE3NS45NDUgWTEwOS4xNjIgRS4wNDE2OQpHMSBYMTc1LjEwMiBZMTA5LjgyOCBFLjAyNzk5CkcxIFgxNzQuNTQgWTExMC4yMzkgRS4wMTgxNApHMSBYMTczLjI1OSBZMTExLjQ4MSBFLjA0NjQ5CkcxIFgxNzIuMzczIFkxMTIuNTU4IEUuMDM2MzQKRzEgWDE3Mi4wMjEgWTExMy4wNTggRS4wMTU5MwpHMSBYMTcxLjc3NyBZMTEzLjM0NiBFLjAwOTg0CkcxIFgxNzEuNjY1IFkxMTMuNTYyIEUuMDA2MzQKRzEgWDE3MS40MTMgWTExMy45NTcgRS4wMTIyMQpHMSBYMTcxLjA5MSBZMTE0Ljk0NyBFLjAyNzEzCkcxIFgxNzAuNzA0IFkxMTUuODI0IEUuMDI0OTgKRzEgWDE3MC42NjIgWTExNS45NTYgRS4wMDM2MQpHMSBYMTcwLjc3MyBZMTE1Ljk2NyBFLjAwMjkxCkcxIFgxNzEuMDY3IFkxMTYuMTI4IEUuMDA4NzMKRzEgWDE3MS4yMjQgWTExNi4zNzcgRS4wMDc2NwpHMSBYMTcxLjI1NCBZMTE2LjYzNiBFLjAwNjc5CkcxIFgxNzEuMTIzIFkxMTcuMDM4IEUuMDExMDIKRzEgWDE3MS41MDUgWTExNy4xMTUgRS4wMTAxNQpHMSBYMTcxLjcyNSBZMTE3LjMyMyBFLjAwNzg5CkcxIFgxNzEuODc2IFkxMTcuNTkxIEUuMDA4MDIKRzEgWDE3MS45MDggWTExOC4wMTggRS4wMTExNgpHMSBYMTcyLjM0NSBZMTE3LjcyNiBFLjAxMzY5CkcxIFgxNzMuMTM1IFkxMTYuOTg1IEUuMDI4MjIKRzEgWDE3My42NDEgWTExNi40MyBFLjAxOTU3CkcxIFgxNzQuNTU3IFkxMTUuNTM4IEUuMDMzMzEKRzEgWDE3NS4zNTYgWTExNC44NTggRS4wMjczNApHMSBYMTc1LjgyIFkxMTQuNTY4IEUuMDE0MjYKRzEgWDE3Ni42OSBZMTE0LjExMiBFLjAyNTU5CkcxIFgxNzcuNDkzIFkxMTEzMS41MjEgRS4wNDAxNQpHMSBYMjAwLjc2MSBZMTMxLjEzNiBFLjAxNTM5CkcxIFgyMDAuNTQ4IFkxMzEuMDE5IEUuMDA2MzMKRzEgWDIwMC44ODEgWTEzMC44NTkgRS4wMDk2MwpHMSBYMjAxLjAyOCBZMTMwLjc1OCBFLjAwNDY1CkcxIFgyMDEuMTI4IFkxMzAuNzkxIEUuMDAyNzQKRzEgWDIwMS40IFkxMzAuODIzIEUuMDA3MTQKRzEgWDIwMS45MTQgWTEzMC43MzcgRS4wMTM1OApHMSBYMjAyLjEyIFkxMzAuNjY3IEUuMDA1NjcKRzEgWDIwMi43MTEgWTEzMC4zNjMgRS4wMTczMgpHMSBYMjAyLjkyNCBZMTMwLjIxOCBFLjAwNjcxCkcxIFgyMDMuNDUzIFkxMjkuNzQ3IEUuMDE4NDYKRzEgWDIwMy44MjYgWTEyOS4yNzkgRS4wMTU1OQpHMSBYMjAzLjg5OSBZMTI5LjMxOSBFLjAwMjE3CkcxIFgyMDQuNzk1IFkxMjkuNTU4IEUuMDI0MTYKRzEgWDIwNS4yNDQgWTEyOS41MTggRS4wMTE3NQpHMSBYMjA1LjY5MiBZMTI5LjE4OCBFLjAxNDUKRzEgWDIwNi41ODkgWTEyNy45MzUgRS4wNDAxNQpHMSBYMjA3LjAzNyBZMTI3LjU1IEUuMDE1MzkKRzEgWDIwNy40ODUgWTEyNy4zMDMgRS4wMTMzMwpHMSBYMjA4LjM4MiBZMTI3LjA2NCBFLjAyNDE5CkcxIFgyMDguODMgWTEyNy4xMDQgRS4wMTE3MgpHMSBYMjA5LjI3OCBZMTI3LjQzNCBFLjAxNDUKRzEgWDIxMC4xNzUgWTEyOC42ODcgRS4wNDAxNQpHMSBYMjEwLjYyMyBZMTI5LjA3MiBFLjAxNTM5CkcxIFgyMTEuMDcxIFkxMjkuMzE5IEUuMDEzMzMKRzEgWDIxMS45NjggWTEyOS41NTggRS4wMjQxOQpHMSBYMjEyLjQxNiBZMTI5LjUxOCBFLjAxMTcyCkcxIFgyMTIuODY1IFkxMjkuMTg4IEUuMDE0NTIKRzEgWDIxMy43NjEgWTEyNy45MzUgRS4wNDAxNApHMSBYMjE0LjIwOSBZMTI3LjU1IEUuMDE1MzkKRzEgWDIxNC42NTggWTEyNy4zMDMgRS4wMTMzNQpHMSBYMjE1LjU1NCBZMTI3LjA2NCBFLjAyNDE2CkcxIFgyMTYuMDAzIFkxMjcuMTA0IEUuMDExNzUKRzEgWDIxNi40NTEgWTEyNy40MzQgRS4wMTQ1CkcxIFgyMTcuMzQ3IFkxMjguNjg3IEUuMDQwMTQKRzEgWDIxNy43OTYgWTEyOS4wNzIgRS4wMTU0MQpHMSBYMjE4LjI0NCBZMTI5LjMxOSBFLjAxMzMzCkcxIFgyMTkuMTQxIFkxMjkuNTU4IEUuMDI0MTkKRzEgWDIxOS41ODkgWTEyOS41MTggRS4wMTE3MgpHMSBYMjIwLjAzNyBZMTI5LjE4OCBFLjAxNDUKRzEgWDIyMC45MzQgWTEyNy45MzUgRS4wNDAxNQpHMSBYMjIxLjM4MiBZMTI3LjU1IEUuMDE1MzkKRzEgWDIyMS44MyBZMTI3LjMwMyBFLjAxMzMzCkcxIFgyMjIuNzI3IFkxMjcuMDY0IEUuMDI0MTkKRzEgWDIyMy4xNzUgWTEyNy4xMDQgRS4wMTE3MgpHMSBYMjIzLjU2MyBZMTI3LjM5IEUuMDEyNTYKRzEgWDIyMy41NjMgWTEyNS41MTcgRS4wNDg4CkcxIFgyMjIuNzI3IFkxMjQuMzQ5IEUuMDM3NDMKRzEgWDIyMi4yNzkgWTEyMy45NjQgRS4wMTUzOQpHMSBYMjIxLjgzIFkxMjMuNzE2IEUuMDEzMzYKRzEgWDIyMC45MzQgWTEyMy40NzggRS4wMjQxNgpHMSBYMjIwLjQ4NSBZMTIzLjUxOCBFLjAxMTc1CkcxIFgyMjAuMDM3IFkxMjMuODQ4IEUuTG9hZGVkIGZpbGUgaXMgbm90IHZhbGlkIFNWRyInKSl9Y2F0Y2goaSl7dChpKX1lbHNlIHQobmV3IEVycm9yKCJFcnJvciBsb2FkaW5nIFNWRyIpKX0sci5vbmVycm9yPXQsci5zZW5kKCl9KSl9fX07ZnVuY3Rpb24gRUsoZSxzKXtjb25zdCB0PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIik7aWYodC5sZW5ndGgpdFswXS50ZXh0Q29udGVudD1zO2Vsc2V7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwidGl0bGUiKTtyLnRleHRDb250ZW50PXMsZS5pbnNlcnRCZWZvcmUocixlLmZpcnN0Q2hpbGQpfX1mdW5jdGlvbiBPSyhlKXtpZihlLmdldElzUGVuZGluZylyZXR1cm4gZTtsZXQgcz0hMCx0PWUudGhlbihyPT4ocz0hMSxyKSxyPT57dGhyb3cgcz0hMSxyfSk7cmV0dXJuIHQuZ2V0SXNQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LHR9dmFyIExLPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxBSz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEZLPShlLHMsdCxyKT0+e2Zvcih2YXIgaT1yPjE/dm9pZCAwOnI/QUsocyx0KTpzLG49ZS5sZW5ndGgtMSxhO24+PTA7bi0tKShhPWVbbl0pJiYoaT0ocj9hKHMsdCxpKTphKGkpKXx8aSk7cmV0dXJuIHImJmkmJkxLKHMsdCxpKSxpfTtsZXQgTGg9Y2xhc3MgZXh0ZW5kcyBUKEEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm1kaUFsZXJ0T2N0YWdvbk91dGxpbmU9bXksdGhpcy5tZGlDb250ZW50U2F2ZT11cCx0aGlzLm1kaUZpbGVVcGxvYWQ9UHksdGhpcy5tZGlDbG9zZT1FYSx0aGlzLm1kaUNsb3NlVGhpY2s9cGUsdGhpcy50b3BiYXJIZWlnaHQ9RW4sdGhpcy5zaG93RW1lcmdlbmN5U3RvcERpYWxvZz0hMSx0aGlzLnVwbG9hZFNuYWNrYmFyPXtzdGF0dXM6ITEsZmlsZW5hbWU6IiIscGVyY2VudDowLHNwZWVkOjAsdG90YWw6MCxjYW5jZWxUb2tlblNvdXJjZTpudWxsfSx0aGlzLmZvcm1hdEZpbGVzaXplPUtlfWdldCBnY29kZUlucHV0RmlsZUFjY2VwdCgpe3JldHVybiB0aGlzLmlzSU9TP1tdOnZpfWdldCBuYXZpRHJhd2VyKCl7cmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLm5hdmlEcmF3ZXJ9c2V0IG5hdmlEcmF3ZXIoZSl7dGhpcy4kc3RvcmUuZGlzcGF0Y2goInNldE5hdmlEcmF3ZXIiLGUpfWdldCBjdXJyZW50UGFnZSgpe3JldHVybiB0aGlzLiRyb3V0ZS5mdWxsUGF0aH1nZXQgc2F2ZUNvbmZpZ1BlbmRpbmcoKXt2YXIgZSxzO3JldHVybihzPShlPXRoaXMuJHN0b3JlLnN0YXRlLnByaW50ZXIuY29uZmlnZmlsZSk9PW51bGw/dm9pZCAwOmUuc2F2ZV9jb25maWdfcGVuZGluZykhPW51bGw/czohMX1nZXQgaGlkZVNhdmVDb25maWdGb3JCZWRNYXNoKCl7dmFyIGU7cmV0dXJuKGU9dGhpcy4kc3RvcmUuc3RhdGUuZ3VpLnVpU2V0dGluZ3MuaGlkZVNhdmVDb25maWdGb3JCZWRNYXNoKSE9bnVsbD9lOiExfWdldCBzaG93U2F2ZUNvbmZpZ0J1dHRvbigpe3ZhciBzLHQ7aWYoIXRoaXMua2xpcHBlclJlYWR5Rm9yR3VpKXJldHVybiExO2lmKCFQYXRoKyIvIit0aGlzLmNvbnRleHRNZW51Lml0ZW0uZmlsZW5hbWUsZm9yY2U6ITB9LHthY3Rpb246ImZpbGVzL2dldERlbGV0ZURpciJ9KX1kZWxldGVTZWxlY3RlZEZpbGVzKCl7dGhpcy5zZWxlY3RlZEZpbGVzLmZvckVhY2goZT0+e2lmKGUuaXNEaXJlY3RvcnkpdGhpcy4kc29ja2V0LmVtaXQoInNlcnZlci5maWxlcy5kZWxldGVfZGlyZWN0b3J5Iix7cGF0aDp0aGlzLmN1cnJlbnRQYXRoKyIvIitlLmZpbGVuYW1lLGZvcmNlOiEwfSx7YWN0aW9uOiJmaWxlcy9nZXREZWxldGVEaXIifSk7ZWxzZXtjb25zdCBzPWUuZmlsZW5hbWUuc2xpY2UoMCxlLmZpbGVuYW1lLmxhc3RJbmRleE9mKCIuIikpLHQ9ZS5maWxlbmFtZS5zcGxpdCgiLiIpLnBvcCgpO2lmKHRoaXMuJHNvY2tldC5lbWl0KCJzZXJ2ZXIuZmlsZXMuZGVsZXRlX2ZpbGUiLHtwYXRoOnRoaXMuY3VycmVudFBhdGgrIi8iK2UuZmlsZW5hbWV9LHthY3Rpb246ImZpbGVzL2dldERlbGV0ZUZpbGUifSksdCE9PSJtcDQiKXJldHVybjtjb25zdCByPXMrIi5qcGciO3RoaXMuZmlsZXMuZmluZEluZGV4KG49Pm4uZmlsZW5hbWU9PT1yKSE9PS0xJiZ0aGlzLiRzb2NrZXQuZW1pdCgic2VydmVyLmZpbGVzLmRlbGV0ZV9maWxlIix7cGF0aDp0aGlzLmN1cnJlbnRQYXRoKyIvIityfSx7YWN0aW9uOiJmaWxlcy9nZXREZWxldGVGaWxlIn0pfX0pLHRoaXMuc2VsZWN0ZWRGaWxlcz1bXSx0aGlzLmRlbGV0ZVNlbGVjdGVkRGlhbG9nPSExfX07SG09TEgoW0Qoe2NvbXBvbmVudHM6e1BhbmVsOlcsUGF0aE5hdmlnYXRpb246cm59fSldLEhtKTt2YXIgQUg9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHM9ZS4kY3JlYXRlRWxlbWVudCx0PWUuX3NlbGYuX2N8fHM7cmV0dXJuIHQoImRpdiIsW3QoVyx7YXR0cnM6e3RpdGxlOmUuJHQoIlRpbWVsYXBzZS5UaW1lbGFwc2VGaWxlcyIpLGljb246ZS5tZGlGaWxlRG9jdW1lbnRNdWx0aXBsZU91dGxpbmUsImNhcmQtY2xhc3MiOiJ0aW1lbGFwc2UtZmlsZXMtcGFuZWwifX0sW3QocSxbdCgkLFt0KF8se3N0YXRpY0NsYXNzOiJjb2wtMTIgZC1mbGV4IGFsaWduLWNlbnRlciJ9LFt0KHNlLHtzdGF0aWNTdHlsZTp7Im1heC13aWR0aCI6IjMwMHB4In0sYXR0cnM6eyJhcHBlbmQtaWNvbiI6ZS5tZGlNYWduaWZ5LGxhYmVsOmUuJHQoIlRpbWVsYXBzZS5TZWFyY2giKSwic2luZ2xlLWxpbmUiOiIiLG91dGxpbmVkOiIiLGNsZWFyYWJsZToiIiwiaGlkZS1kZXRhaWxzIjoiIixkZW5zZToiIn0sbW9kZWw6e3ZhbHVlOmUuc2VhcmNoLGNhbGxiYWNrOmZ1bmN0aW9uKHIpe2Uuc2VhcmNoPXJ9LGV4cHJlc3Npb246InNlYXJjaCJ9fSksdChhZSksZS5zZWxlY3RlZEZpbGVzLmxlbmd0aD90KGcse3N0YXRpY0NsYXNzOiJweC0yIG1pbndpZHRoLTAgbWwtMyIsYXR0cnM6e3RpdGxlOmUuJHQoIlRpbWVsYXBzZS5Eb3dubG9hZCIpLGNvbG9yOiJwcmltYXJ5Iixsb2FkaW5nOmUubG9hZGluZ3MuaW5jbHVkZXMoInRpbWVsYXBzZURvd25sb2FkWmlwIil9LG9uOntjbGljazplLmRvd25sb2FkU2VsZWN0ZWRGaWxlc319LFt0KHYsW2UuX2EuZ2V0Q29sb3IoTGkpO24mJmUuYWRkUnVsZShgLm1vbmFjby1lZGl0b3IgLmZpbmQtd2lkZ2V0IHsgYm9yZGVyOiAxcHggc29saWQgJHtufTsgfWApfSk7dmFyIFV2PWZ1bmN0aW9uKGEsZSx0LGkpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGgscz1uPDM/ZTppPT09bnVsbD9pPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTppLG87aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09ImZ1bmN0aW9uIilzPVJlZmxlY3QuZGVjb3JhdGUoYSxlLHQsaSk7ZWxzZSBmb3IodmFyIHI9YS5sZW5ndGgtMTtyPj0wO3ItLSkobz1hW3JdKSYmKHM9KG48Mz9vKHMpOm4+Mz9vKGUsdCxzKTpvKGUsdCkpfHxzKTtyZXR1cm4gbj4zJiZzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHMpLHN9LFd0PWZ1bmN0aW9uKGEsZSl7cmV0dXJuIGZ1bmN0aW9uKHQsaSl7ZSh0LGksYSl9fSxJaDtjb25zdCBGST01MjQyODg7ZnVuY3Rpb24gTGgoYSxlPSJzaW5nbGUiLHQ9ITEpe2lmKCFhLmhhc01vZGVsKCkpcmV0dXJuIG51bGw7Y29uc3QgaT1hLmdldFNlbGVjdGlvbigpO2lmKGU9PT0ic2luZ2xlIiYmaS5zdGFydExpbmVOdW1iZXI9PT1pLmVuZExpbmVOdW1iZXJ8fGU9PT0ibXVsdGlwbGUiKXtpZihpLmlzRW1wdHkoKSl7Y29uc3Qgbj1hLmdldENvbmZpZ3VyZWRXb3JkQXRQb3NpdGlvbihpLmdldFN0YXJ0UG9zaXRpb24oKSk7aWYobiYmdD09PSExKXJldHVybiBuLndvcmR9ZWxzZSBpZihhLmdldE1vZGVsKCkuZ2V0VmFsdWVMZW5ndGhJblJhbmdlKGkpPEZJKXJldHVybiBhLmdldE1vZGVsKCkuZ2V0VmFsdWVJblJhbmdlKGkpfXJldHVybiBudWxsfWxldCBLZT1JaD1jbGFzcyBleHRlbmRzIFJ7Z2V0IGVkaXRvcigpe3JldHVybiB0aGlzLl9lZGl0b3J9c3RhdGljIGdldChlKXtyZXR1cm4gZS5nZXRDb250cmlidXRpb24oSWguSUQpfWNvbnN0cnVjdG9yKGUsdCxpLG4scyl7c3VwZXIoKSx0aGlzLl9lZGl0b3I9ZSx0aGlzLl9maW5kV2lkZ2V0VmlzaWJsZT1BaS5iaW5kVG8odCksdGhpcy5fY29udGV4dEtleVNlcnZpY2U9dCx0aGlzLl9zdG9yYWdlU2VydmljZT1pLHRoaXMuX2NsaXBib2FyZFNlcnZpY2U9bix0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlPXMsdGhpcy5fdXBkYXRlSGlzdG9yeURlbGF5ZXI9bmV3IEJuKDUwMCksdGhpcy5fc3RhdGU9dGhpcy5fcmVnaXN0ZXIobmV3IGNJKSx0aGlzLmxvYWRRdWVyeVN0YXRlKCksdGhpcy5fcmVnaXN0ZXIodGhpcy5fc3RhdGUub25GaW5kUmVwbGFjZVN0YXRlQ2hhbmdlKG89PnRoaXMuX29uU3RhdGVDaGFuZ2VkKG8pKSksdGhpcy5fbW9kZWw9bnVsbCx0aGlzLl9yZWdpc3Rlcih0aGlzLl9lZGl0b3Iub25EaWRDaGFuZ2VNb2RlbCgoKT0+e2NvbnN0IG89dGhpcy5fZWRpdG9yLmdldE1vZGVsKCkmJnRoaXMuX3N0YXRlLmlzUmV2ZWFsZWQ7dGhpcy5kaXNwb3NlTW9kZWwoKSx0aGlzLl9zdGF0ZS5jaGFuZ2Uoe3NlYXJjaFNjb3BlOm51bGwsbWF0Y2hDYXNlOnRoaXMuX3N0b3JhZ2VTZXJ2aWNlLmdldEJvb2xlcmVudCI6IHRydWUsCiAgICAgICJkZWZhdWx0IjogdHJ1ZSwKICAgICAgImV4dHJ1ZGVyIjogewogICAgICAgICJjb3VudCI6IDEsCiAgICAgICAgImRlZmF1bHRFeHRydXNpb25MZW5ndGgiOiA1LAogICAgICAgICJub3p6bGVEaWFtZXRlciI6IDAuNCwKICAgICAgICAib2Zmc2V0cyI6IFsKICAgICAgICAgIFsKICAgICAgICAgICAgMC4wLAogICAgICAgICAgICAwLjAKICAgICAgICAgIF0KICAgICAgICBdLAogICAgICAgICJzaGFyZWROb3p6bGUiOiBmYWxzZQogICAgICB9LAogICAgICAiaGVhdGVkQmVkIjogdHJ1ZSwKICAgICAgImhlYXRlZENoYW1iZXIiOiBmYWxzZSwKICAgICAgImlkIjogIl9kZWZhdWx0IiwKICAgICAgIm1vZGVsIjogIk1LMyIsCiAgICAgICJuYW1lIjogIlBydXNhIiwKICAgICAgInJlc291cmNlIjogImh0dHBzOi8vZGV2LW9wLm9jdG9ldmVyeXdoZXJlLmNvbS9hcGkvcHJpbnRlcnByb2ZpbGVzL19kZWZhdWx0IiwKICAgICAgInZvbHVtZSI6IHsKICAgICAgICAiY3VzdG9tX2JveCI6IHsKICAgICAgICAgICJ4X21heCI6IDI1MC4wLAogICAgICAgICAgInhfbWluIjogMC4wLAogICAgICAgICAgInlfbWF4IjogMjEwLjAsCiAgICAgICAgICAieV9taW4iOiAtNC4wLAogICAgICAgICAgInpfbWF4IjogMjEwLjAsCiAgICAgICAgICAiel9taW4iOiAwLjAKICAgICAgICB9LAogICAgICAgICJkZXB0aCI6IDIxMC4wLAogICAgICAgICJmb3JtRmFjdG9yIjogInJlY3Rhbmd1bGFyIiwKICAgICAgICAiaGVpZ2h0IjogMjEwLjAsCiAgICAgICAgIm9yaWdpbiI6ICJsb3dlcmxlZnQiLAogICAgICAgICJ3aWR0aCI6IDI1MC4wCiAgICAgIH0KICAgIH0KICB9Cn0KeyJqc29ucnBjIjoiMi4wIiwibWV0aG9kIjoicHJpbnRlci5pbmZvIiwicGFyYW1zIjp7fSwiaWQiOjcwfXsianNvbnJwYyI6ICIyLjAiLCAibWV0aG9kIjogIm5vdGlmeV9zdGF0dXNfdXBkYXRlIiwgInBhcmFtcyI6IFt7ImhlYXRlcl9iZWQiOiB7InRlbXBlcmF0dXJlIjogMTkuNTd9LCAidG9vbGhlYWQiOiB7ImVzdGltYXRlZF9wcmludF90aW1lIjogMTQ2MzI2LjkyNzAwOTQ4NjF9LCAiZXh0cnVkZXIiOiB7InRlbXBlcmF0dXJlIjogMTkuOTF9fSwgMTQ2MzI0LjkyODA0MzA2MV19eyJqc29ucnBjIjogIjIuMCIsICJtZXRob2QiOiAibm90aWZ5X3Byb2Nfc3RhdF91cGRhdGUiLCAicGFyYW1zIjogW3sibW9vbnJha2VyX3N0YXRzIjogeyJ0aW1lIjogMTcxNzUyMjQ4NC4yNTYwNzU2LCAiY3B1X3VzYWdlIjogMS43NiwgIm1lbW9yeSI6IDM5MzI4LCAibWVtX3VuaXRzIjogImtCIn0sICJjcHVfdGVtcCI6IDMyLjEyOCwgIm5ldHdvcmsiOiB7ImxvIjogeyJyeF9ieXRlcyI6IDEwOTIyNDY2NzksICJ0eF9ieXRlcyI6IDEwOTIyNDY2NzksICJyeF9wYWNrZXRzIjogMTM2ODQ1MSwgInR4X3BhY2tldHMiOiAxMzY4NDUxLCAicnhfZXJycyI6IDAsICJ0eF9lcnJzIjogMCwgInJ4X2Ryb3AiOiAwLCAidHhfZHJvcCI6IDAsICJiYW5kd2lkdGgiOiA4MzE2MjcxLjc4fSwgImV0aDAiOiB7InJ4X2J5dGVzIjogMTk1MzBIYW5kbGVyPWZ1bmN0aW9uKGUsdCl7aWYoaSgiX2NodW5rSGFuZGxlciIsZSksMjAwPT09ZSYmdClmb3IodmFyIG49LTE7O3RoaXMuYnVmZmVyUG9zaXRpb24rPW4rMSl7dmFyIHI9dC5zbGljZSh0aGlzLmJ1ZmZlclBvc2l0aW9uKTtpZigtMT09PShuPXIuaW5kZXhPZigiXG4iKSkpYnJlYWs7dmFyIG89ci5zbGljZSgwLG4pO28mJihpKCJtZXNzYWdlIixvKSx0aGlzLmVtaXQoIm1lc3NhZ2UiLG8pKX19LHMucHJvdG90eXBlLl9jbGVhbnVwPWZ1bmN0aW9uKCl7aSgiX2NsZWFudXAiKSx0aGlzLnJlbW92ZUFsbExpc3RlbmVycygpfSxzLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe2koImFib3J0IiksdGhpcy54byYmKHRoaXMueG8uY2xvc2UoKSxpKCJjbG9zZSIpLHRoaXMuZW1pdCgiY2xvc2UiLG51bGwsInVzZXIiKSx0aGlzLnhvPW51bGwpLHRoaXMuX2NsZWFudXAoKX0sdC5leHBvcnRzPXN9LHsiZGVidWciOnZvaWQgMCwiZXZlbnRzIjozLCJpbmhlcml0cyI6NTR9XSwzMzpbZnVuY3Rpb24oZSx0LG4peyhmdW5jdGlvbihzKXsidXNlIHN0cmljdCI7dmFyIGEsbCx1PWUoIi4uLy4uL3V0aWxzL3JhbmRvbSIpLGM9ZSgiLi4vLi4vdXRpbHMvdXJsIiksZj1mdW5jdGlvbigpe307dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtmKGUsdCksYXx8KGYoImNyZWF0ZUZvcm0iKSwoYT1zLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKSkuc3R5bGUuZGlzcGxheT0ibm9uZSIsYS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGEubWV0aG9kPSJQT1NUIixhLmVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIsYS5hY2NlcHRDaGFyc2V0PSJVVEYtOCIsKGw9cy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpKS5uYW1lPSJkIixhLmFwcGVuZENoaWxkKGwpLHMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSk7dmFyIHI9ImEiK3Uuc3RyaW5nKDgpO2EudGFyZ2V0PXIsYS5hY3Rpb249Yy5hZGRRdWVyeShjLmFkZFBhdGgoZSwiL2pzb25wX3NlbmQiKSwiaT0iK3IpO3ZhciBvPWZ1bmN0aW9uKHQpe2YoImNyZWF0ZUlmcmFtZSIsdCk7dHJ5e3JldHVybiBzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJzxpZnJhbWUgbmFtZT0iJyt0KyciPicpfWNhdGNoKGUpe3ZhciBuPXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIG4ubmFtZT10LG59fShyKTtvLmlkPXIsby5zdHlsZS5kaXNwbGF5PSJub25lIixhLmFwcGVuZENoaWxkKG8pO3RyeXtsLnZhbHVlPXR9Y2F0Y2goZSl7fWEuc3VibWl0KCk7ZnVuY3Rpb24gaShlKXtmKCJjb21wbGV0ZWQiLHIsZSksby5vbmVycm9yJiYoby5vbnJlYWR5c3RhdGVjaGFuZ2U9by5vbmVycm9yPW8ub25sb2FkPW51bGwsc2V0VGltZW91dChmdW5jdGlvbigpe2YoImNsZWFuaW5nIHVwIixyKSxvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyksbz1udWxsfSw1MDApLGwudmFsdWU9IiIsbihlKSl9cmV0dXJuIG8ub25lcnJvcj1mdW5jdGlvbigpe2YoIm9uZXJyb3IiLHIpLGkoKX0sby5vbmxvYWQ9ZnVuYy4zNzkzMjM3NX19LCAxNDY1MTkuMzg0MjI3MTg2XX17Impzb25ycGMiOiAiMi4wIiwgIm1ldGhvZCI6ICJub3RpZnlfc3RhdHVzX3VwZGF0ZSIsICJwYXJhbXMiOiBbeyJtY3UiOiB7Imxhc3Rfc3RhdHMiOiB7Im1jdV9hd2FrZSI6IDAuMDAxLCAibWN1X3Rhc2tfYXZnIjogMWUtMDUsICJtY3VfdGFza19zdGRkZXYiOiA3ZS0wNiwgImJ5dGVzX3dyaXRlIjogODkyMzQ4LCAiYnl0ZXNfcmVhZCI6IDE3MzExNjk1LCAiYnl0ZXNfcmV0cmFuc21pdCI6IDksICJieXRlc19pbnZhbGlkIjogMCwgInNlbmRfc2VxIjogMTQ4Njc2LCAicmVjZWl2ZV9zZXEiOiAxNDg2NzYsICJyZXRyYW5zbWl0X3NlcSI6IDIsICJzcnR0IjogMC4wMDMsICJydHR2YXIiOiAwLjAsICJydG8iOiAwLjAyNSwgInJlYWR5X2J5dGVzIjogMCwgInVwY29taW5nX2J5dGVzIjogMCwgImZyZXEiOiA3MTk5ODU3M319LCAic3lzdGVtX3N0YXRzIjogeyJjcHV0aW1lIjogMTAxMS43NjQ5MTMzMzYsICJtZW1hdmFpbCI6IDYwMzM3NjR9LCAidG9vbGhlYWQiOiB7ImVzdGltYXRlZF9wcmludF90aW1lIjogMTQ2MzIwLjQwMzEwNzU5NzIzfSwgImV4dHJ1ZGVyIjogeyJ0ZW1wZXJhdHVyZSI6IDE5Ljk0fX0sIDE0NjMxOC40MDQwMTUxNTddfWFbeyJoaXN0b3J5Ijp7InN0YXRlIjp7InRleHQiOiJPcGVyYXRpb25hbCIsImZsYWdzIjp7Im9wZXJhdGlvbmFsIjp0cnVlLCJwcmludGluZyI6ZmFsc2UsImNhbmNlbGxpbmciOmZhbHNlLCJwYXVzaW5nIjpmYWxzZSwicmVzdW1pbmciOmZhbHNlLCJmaW5pc2hpbmciOmZhbHNlLCJjbG9zZWRPckVycm9yIjpmYWxzZSwiZXJyb3IiOmZhbHNlLCJwYXVzZWQiOmZhbHNlLCJyZWFkeSI6dHJ1ZSwic2RSZWFkeSI6ZmFsc2V9LCJlcnJvciI6IiJ9LCJqb2IiOnsiZmlsZSI6eyJuYW1lIjpudWxsLCJwYXRoIjpudWxsLCJzaXplIjpudWxsLCJvcmlnaW4iOm51bGwsImRhdGUiOm51bGx9LCJlc3RpbWF0ZWRQcmludFRpbWUiOm51bGwsImxhc3RQcmludFRpbWUiOm51bGwsImZpbGFtZW50Ijp7Imxlbmd0aCI6bnVsbCwidm9sdW1lIjpudWxsfSwidXNlciI6bnVsbH0sImN1cnJlbnRaIjpudWxsLCJwcm9ncmVzcyI6eyJjb21wbGV0aW9uIjpudWxsLCJmaWxlcG9zIjpudWxsLCJwcmludFRpbWUiOm51bGwsInByaW50VGltZUxlZnQiOm51bGwsInByaW50VGltZUxlZnRPcmlnaW4iOm51bGx9LCJvZmZzZXRzIjp7fSwicmVzZW5kcyI6eyJjb3VudCI6MCwidHJhbnNtaXR0ZWQiOjgsInJhdGlvIjowfSwidGVtcHMiOlt7InRpbWUiOjE3MTc1MjA4MjYsInRvb2wwIjp7ImFjdHVhbCI6MjAuNywidGFyZ2V0IjowLjB9LCJiZWQiOnsiYWN0dWFsIjoxOC42LCJ0YXJnZXQiOjAuMH0sImNoYW1iZXIiOnsiYWN0dWFsIjpudWxsLCJ0YXJnZXQiOm51bGx9LCJQIjp7ImFjdHVhbCI6MC4wLCJ0YXJnZXQiOm51bGx9LCJBIjp7ImFjdHVhbCI6MjYuNSwidGFyZ2V0IjpudWxsfX0seyJ0aW1lIjoxNzE3NTIwODI4LCJ0b29sMCI6eyJhY3R1YWwiOjIxLjAsInRhcmdldCI6MC4wfSwiYmVkIjp7ImFjdHVhbCI6MTkuMiwidGFyCkcxIFgxMzguMDA0IFk5NC42NjcgRS0uMDI5OTEKRzEgWDEzOC4xNDIgWTk0LjgxNyBFLS4wNDcwNgpHMSBYMTM4LjI4NSBZOTUuMDc5IEUtLjA2ODkyCkcxIFgxMzguNTk0IFk5NS4zNzkgRS0uMDk5NDQKRzEgWDEzOC42MSBZOTUuNDIgRS0uMDEwMTYKRzEgWDEzOC40MzkgWTk1LjQyIEUtLjAzOTQ4CkcxIFgxMzcuOTA0IFk5NS40ODIgRS0uMTI0MzYKRzEgWDEzNy40NDkgWTk1LjQ4IEUtLjEwNTA2CkcxIFgxMzcuMjEgWTk1LjYzOCBFLS4wNjYxNQpHMSBYMTM3LjA4NiBZOTUuODQyIEUtLjA1NTEyCkcxIFgxMzYuOTk5IFk5Ni4xNSBFLS4wNzM5CkcxIFgxMzcuMDM2IFk5Ni4zMDUgRS0uMDM2OApHMSBYMTM3LjE2MSBZOTYuNDA4IEUtLjAzNzQKRzEgWDEzNy4xNTkgWTk2LjQzNSBFLS4wMDYyNAo7V0lQRV9FTkQKRzEgWjEuMzUgRjcyMApHMSBYMTM5LjE0NyBZOTMuODI5IEYxMDgwMApHMSBaLjk1IEY3MjAKRzEgRS44IEYyMTAwCkcxIEY0ODAwCkcxIFgxNDIuNjEgWTkwLjM2NiBFLjEyNzYxCkcxIFgxNDMuMDQgWTkwLjUyNyBFLjAxMTk2CkcxIFgxMzkuODIyIFk5My43NDUgRS4xMTg1OAo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTQyLjI3MiBZOTEuMjk1IEUtLjgKO1dJUEVfRU5ECkcxIFoxLjM1IEY3MjAKRzEgWDE0MC45NyBZOTMuODI2IEYxMDgwMApHMSBaLjk1IEY3MjAKRzEgRS44IEYyMTAwCjtXSURUSDowLjM3MjE5CkcxIEY0ODAwCkcxIFgxNDAuNTgyIFk5My44OTYgRS4wMDgzNgo7V0lEVEg6MC40MTEwOTUKRzEgWDE0MC41MDEgWTkzLjgxNyBFLjAwMjY3CjtXSURUSDowLjQ0OTk5OQpHMSBYMTQwLjQyIFk5My43MzggRS4wMDI5NQpHMSBYMTQzLjU5NCBZOTAuNTY0IEUuMTE2OTYKRzEgWDE0NC4wMzcgWTkwLjYxNCBFLjAxMTYyCkcxIFgxNDQuMDM3IFk5MC43MTIgRS4wMDI1NQpHMSBYMTQyLjU3OSBZOTIuMTcgRS4wNTM3MgpHMSBYMTQyLjczNyBZOTIuMzI5IEUuMDA1ODQKRzEgWDE0Mi43MzMgWTkyLjQyIEUuMDAyMzcKRzEgWDE0NC4wNTkgWTkyLjM0MSBFLjAzNDYxCkcxIFgxNDUuNDEyIFk5Mi4zNjcgRS4wMzUyNgpHMSBYMTQ1Ljc0OCBZOTIuMjc3IEUuMDA5MDYKRzEgWDE0Ni4wNiBZOTIuMTUzIEUuMDA4NzUKO1dJRFRIOjAuNDQ1NDg3CkcxIFgxNDYuMzM2IFk5Mi4yMTQgRS4wMDcyOQo7V0lEVEg6MC40MzA1MjYKRzEgWDE0Ni45NTEgWTkyLjI0NCBFLjAxNTMKRzEgWDE0Ni45ODEgWTkyLjIyNyBFLjAwMDg2CkcxIFgxNDYuODA3IFk5Mi4wMjcgRS4wMDY1OQo7V0lEVEg6MC40NDAwMDEKRzEgWDE0Ni4zMTcgWTkxLjc5MSBFLjAxMzgzCjtXSURUSDowLjQ0OTkxOApHMSBYMTQ2LjE3NCBZOTEuNjQyIEUuMDA1MzgKRzEgWDE0Ni4wMzYgWTkxLjE5MiBFLjAxMjI2CkcxIFgxNDUuODUzIFk5MS4wMTkgRS4wMDY1NgpHMSBYMTQ1LjYyOSBZOTAuOTI3IEUuMDA2MzEKRzEgWDE0NS4wMjMgWTkwLjc0NiBFLjAxNjQ4CkcxIFgxNDQuMjQ1IFk5MC42MzggRS4wMjA0NgpHMSBYMTQ0LjI3OCBZOTEuMDYyIEUuMDExMDgKRzEgWDE0My4zNzMgWTkxLjk2NyBFLjAzMzM0Ckc2NgpHMSBYNjcuMDk2IFkxMjIuNjgyIEUuMDE0NzQKRzEgWDY2LjU1NCBZMTIyLjY2OCBFLjAxNDEzCkcxIFg2Ni4xNTEgWTEyMi42MTkgRS4wMTA1OApHMSBYNjUuOSBZMTIyLjUzNyBFLjAwNjg4CkcxIFg2NS40MzMgWTEyMi4yMzQgRS4wMTQ1CkcxIFg2NC45MDQgWTEyMS45NjEgRS4wMTU1MQpHMSBYNjQuMDI5IFkxMjEuMzQ4IEUuMDI3ODQKRzEgWDYzLjgzIFkxMjEuMTM2IEUuMDA3NTgKRzEgWDYzLjYzOSBZMTIwLjc1NCBFLjAxMTEzCkcxIFg2My42MjkgWTEyMC40NDkgRS4wMDc5NQpHMSBYNjIuNDg1IFkxMTkuOTAzIEUuMDMzMDMKRzEgWDYxLjY2NCBZMTE5LjYxMiBFLjAyMjcKRzEgWDYxLjE1OCBZMTE5LjQwNSBFLjAxNDI0CkcxIFg2MC45MzQgWTExOS4yMzMgRS4wMDczNgpHMSBYNjAuNzg1IFkxMTguODA2IEUuMDExNzgKRzEgWDYwLjgyNiBZMTE4LjY1NiBFLjAwNDA1CkcxIFg2MC40NjMgWTExOC41NzQgRS4wMDk3CkcxIFg1OS41MjggWTExOC40NjkgRS4wMjQ1MgpHMSBYNTguOTI4IFkxMTguMzc2IEUuMDE1ODIKRzEgWDU3LjU5OSBZMTE4LjI4NCBFLjAzNDcxCkcxIFg1Ni45NyBZMTE4LjIxNSBFLjAxNjQ5Ck03MyBRNDQgUzI2NApHMSBYNTYuNDI4IFkxMTguMjI0IEUuMDE0MTIKRzEgWDU1LjcwNCBZMTE4LjE2OSBFLjAxODkyCkcxIFg1NC43MjQgWTExOC4xNjYgRS4wMjU1MwpHMSBYNTMuMzUgWTExOC4wMTEgRS4wMzYwMwpHMSBYNTMuMDY4IFkxMTcuOTA4IEUuMDA3ODIKRzEgWDUyLjgwNSBZMTE3LjcyIEUuMDA4NDIKRzEgWDUyLjUxNiBZMTE3LjU3OSBFLjAwODM4CkcxIFg1Mi4xMTEgWTExNy4yODQgRS4wMTMwNgpHMSBYNTEuNzgzIFkxMTcuMTAzIEUuMDA5NzYKRzEgWDUxLjQyNSBZMTE2Ljc4NyBFLjAxMjQ0CkcxIFg1MS4xMTkgWTExNi4zMiBFLjAxNDU1CkcxIFg1MC44NjkgWTExNi4wMDYgRS4wMTA0NgpHMSBYNTAuNzk1IFkxMTUuODA3IEUuMDA1NTMKRzEgWDUwLjU0NiBZMTE1LjM1NCBFLjAxMzQ3CkcxIFg1MC41NSBZMTE1LjI5MSBFLjAwMTY0CkcxIFg1MC40MTEgWTExNS4xNDggRS4wMDUyCkcxIFg1MC4zMyBZMTE0Ljg5NCBFLjAwNjk1CkcxIFg1MC4zMzUgWTExNC44MDEgRS4wMDI0MwpHMSBYNTAuMDQ2IFkxMTQuNTIzIEUuMDEwNDUKRzEgWDQ5LjY5OSBZMTE0LjMyNSBFLjAxMDQxCkcxIFg0OS4wMTcgWTExMy42ODkgRS4wMjQzCkcxIFg0OC44NDUgWTExMy40NTggRS4wMDc1CkcxIFg0OC43NDIgWTExMy4wNjUgRS4wMTA1OQpHMSBYNDguODE0IFkxMTIuNzc0IEUuMDA3ODEKRzEgWDQ5LjAwNyBZMTEyLjU1NCBFLjAwNzYzCkcxIFg0OS4zMDcgWTExMi40MDQgRS4wMDg3NApHMSBYNDkuNTQ1IFkxMTIuMzk0IEUuMDA2MjEKRzEgWDQ5Ljc0MiBZMTEyLjQ1OCBFLjAwNTQKRzEgWDUwLjEzNSBZMTEyLjc4OCBFLjAxMzM3CkcxIFg1MC42MTggWTExMy4wNDUgRS4wMTQyNgpHMSBYNTAuOTY5IFkxMTMuMzc0IEUuMDEyNTMKRzEgWDUxLjQ0NCBZMTEzLjYzOSBFLjAxNDE3CkcxIFg1MS44NTIgWTExMy44OTUgRS4wMTI1NQpHMSBYNTIuMjIyIFkxMTQuMDQ1IGxvcjojNDJiOTgzO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpub3JtYWx9Lmp2LWNvbnRhaW5lci5qdi1saWdodCAuanYtaXRlbS5qdi1zdHJpbmcgLmp2LWxpbmt7Y29sb3I6IzAzNjZkNn0uanYtY29udGFpbmVyLmp2LWxpZ2h0IC5qdi1jb2RlIC5qdi10b2dnbGU6YmVmb3Jle3BhZGRpbmc6MHB4IDJweDtib3JkZXItcmFkaXVzOjJweH0uanYtY29udGFpbmVyLmp2LWxpZ2h0IC5qdi1jb2RlIC5qdi10b2dnbGU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6I2VlZX0uanYtY29udGFpbmVyIC5qdi1jb2Rle292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjMwcHggMjBweH0uanYtY29udGFpbmVyIC5qdi1jb2RlLmJveGVke21heC1oZWlnaHQ6MzAwcHh9Lmp2LWNvbnRhaW5lciAuanYtY29kZS5vcGVue21heC1oZWlnaHQ6aW5pdGlhbCAhaW1wb3J0YW50O292ZXJmbG93OnZpc2libGU7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjQ1cHh9Lmp2LWNvbnRhaW5lciAuanYtdG9nZ2xle2JhY2tncm91bmQtaW1hZ2U6dXJsKCIrcCtgKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2N1cnNvcjpwb2ludGVyO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OjJweDtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMC4xczt0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDAuMXM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4xczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjFzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjFzfS5qdi1jb250YWluZXIgLmp2LXRvZ2dsZS5vcGVuey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9Lmp2LWNvbnRhaW5lciAuanYtbW9yZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0uanYtY29udGFpbmVyIC5qdi1tb3JlIC5qdi10b2dnbGV7cG9zaXRpb246cmVsYXRpdmU7dG9wOjQwJTt6LWluZGV4OjI7Y29sb3I6Izg4ODstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuMXM7dHJhbnNpdGlvbjphbGwgMC4xczstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5qdi1jb250YWluZXIgLmp2LW1vcmUgLmp2LXRvZ2dsZS5vcGVuey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uanYtY29udGFpbmVyIC5qdi1tb3JlOmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDIwJSwgcmdiYSgyMzAsMjMwLHRoaXMuJHN0b3JlLmRpc3BhdGNoKCJjb25maWcvdXBkYXRlSGVhZGVyIix7bmFtZTp0aGlzLmtleU5hbWUsaGVhZGVyOmV9KX19O0dtKFt5KHt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0pXSxubC5wcm90b3R5cGUsImtleU5hbWUiLDIpO0dtKFt5KHt0eXBlOkFycmF5LHJlcXVpcmVkOiEwfSldLG5sLnByb3RvdHlwZSwiaGVhZGVycyIsMik7R20oW3koe3R5cGU6Qm9vbGVhbn0pXSxubC5wcm90b3R5cGUsImRpc2FibGVkIiwyKTtubD1HbShbUCh7fSldLG5sKTt2YXIgQ1k9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5fc2VsZi5fYztyZXR1cm4gZS5fc2VsZi5fc2V0dXBQcm94eSx0KGt0LHthdHRyczp7Ym90dG9tOiIiLGxlZnQ6IiIsIm9mZnNldC15IjoiIix0cmFuc2l0aW9uOiJzbGlkZS15LXRyYW5zaXRpb24iLCJtaW4td2lkdGgiOiIxNTAiLCJjbG9zZS1vbi1jb250ZW50LWNsaWNrIjohMX0sc2NvcGVkU2xvdHM6ZS5fdShbe2tleToiYWN0aXZhdG9yIixmbjpmdW5jdGlvbih7b246cyxhdHRyczpufSl7cmV0dXJuW3QoTGUse2F0dHJzOntib3R0b206IiJ9LHNjb3BlZFNsb3RzOmUuX3UoW3trZXk6ImFjdGl2YXRvciIsZm46ZnVuY3Rpb24oe29uOml9KXtyZXR1cm5bdChOZSxlLl9nKGUuX2Ioe2F0dHJzOntkaXNhYmxlZDplLmRpc2FibGVkLGZhYjoiIixzbWFsbDoiIix0ZXh0OiIifX0sInYtYnRuIixuLCExKSx7Li4uaSwuLi5zfSksW3QoeCxbZS5fdigiICR0YWJsZUNvbHVtbiAiKV0pXSwxKV19fV0sbnVsbCwhMCl9LFt0KCJzcGFuIixbZS5fdihlLl9zKGUuJHQoImFwcC5nZW5lcmFsLmJ0bi5zZWxlY3RfY29sdW1ucyIpKSldKV0pXX19XSl9LFt0KER0LHtzdGF0aWNDbGFzczoib3ZlcmZsb3cteS1hdXRvIixhdHRyczp7ZGVuc2U6IiJ9fSxbZS5fbChlLmhlYWRlcnMsZnVuY3Rpb24ocyl7cmV0dXJuW3MudGV4dCE9PSIiJiZzLmNvbmZpZ3VyYWJsZT90KHdlLHtrZXk6cy52YWx1ZSxvbjp7Y2xpY2s6ZnVuY3Rpb24obil7cmV0dXJuIGUuaGFuZGxlVG9nZ2xlSGVhZGVyKHMpfX19LFt0KGlyLHtzdGF0aWNDbGFzczoibXktMCJ9LFt0KGFyLHthdHRyczp7ImlucHV0LXZhbHVlIjpzLnZpc2libGV9fSldLDEpLHQoRWUsW3QoU2UsW2UuX3YoZS5fcyhzLnRleHQpKV0pXSwxKV0sMSk6ZS5fZSgpXX0pXSwyKV0sMSl9LFBZPVtdLEFZPUUobmwsQ1ksUFksITEsbnVsbCxudWxsLG51bGwsbnVsbCk7Y29uc3QgcW09QVkuZXhwb3J0czt2YXIgRVk9T2JqZWN0LmRlZmluZVByb3BlcnR5LExZPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsRnQ9KHIsZSx0LHMpPT57Zm9yKHZhciBuPXM+MT92b2lkIDA6cz9MWShlLHQpOmUsaT1yLmxlbmd0aC0xLGE7aT49MDtpLS0pKGE9cltpXSkmJihuPShzP2EoZSx0LG4pOmEobikpfHxuKTtyZXR1cm4gcyYmbiYmRVkoZSx0LG4pLG59O2xldCBBdD1jbGFzcyBleHRlbmRzIEcobHQpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTtmKHRoaXMsImlucHV0VmFsdWUiKTtmKHRoaXMsInJlc2V0VmFsdWUiKTtmKHRoaXMsImxhYmVsIikgWDEyOS41OTMgWTEzMi43NyBFLjAxNDk5CkcxIFgxMjkuMTUgWTEzMy40NTUgRS4wMjEyNgpHMSBYMTI4LjU3NiBZMTM0LjQ1NCBFLjAzMDAyCkcxIFgxMjguMjM4IFkxMzQuOTY2IEUuMDE1OTkKRzEgWDEyNy43NjcgWTEzNS42NDkgRS4wMjE2MgpHMSBYMTI3LjM0NSBZMTM2LjE0NCBFLjAxNjk1CkcxIFgxMjcuMDA5IFkxMzYuNDQ0IEUuMDExNzQKRzEgWDEyNi4zNzEgWTEzNi45MDYgRS4wMjA1MgpHMSBYMTI2LjE1NiBZMTM2Ljg0NyBFLjAwNTgxCkcxIFgxMjUuODM0IFkxMzYuODUxIEUuMDA4MzkKRzEgWDEyNS42NSBZMTM2LjkzNiBFLjAwNTI4CkcxIFgxMjUuMzI0IFkxMzcuMTc4IEUuMDEwNTgKRzEgWDEyNS4xOTggWTEzNy4zODUgRS4wMDYzMQpHMSBYMTI1LjA1NiBZMTM3Ljg5NiBFLjAxMzgyCkcxIFgxMjUuMDI4IFkxMzguNDEgRS4wMTM0MQpHMSBYMTI1LjA2OCBZMTQwLjY3IEUuMDU4OQpHMSBYMTI0Ljk5NCBZMTQxLjY4MiBFLjAyNjQ0CkcxIFgxMjQuODY4IFkxNDIuMTAxIEUuMDExNApHMSBYMTI0LjgwNSBZMTQyLjQ4MiBFLjAxMDA2CkcxIFgxMjQuNTIzIFkxNDMuMjQgRS4wMjEwNwpHMSBYMTI0LjQ0MSBZMTQzLjYzNiBFLjAxMDU0CkcxIFgxMjQuMzU5IFkxNDMuNzY2IEUuMDA0CkcxIFgxMjQuMjI2IFkxNDQuMTcxIEUuMDExMTEKRzEgWDEyNC4xMTYgWTE0NC4zNjggRS4wMDU4OApHMSBYMTI0LjAwNSBZMTQ0LjcyMyBFLjAwOTY5CkcxIFgxMjMuNzUzIFkxNDUuMTM4IEUuMDEyNjUKRzEgWDEyMy42MjcgWTE0NS40ODYgRS4wMDk2NApHMSBYMTIzIFkxNDYuMTc2IEUuMDI0MjkKRzEgWDEyMS45NDYgWTE0Ny4xOTIgRS4wMzgxNApHMSBYMTIxLjA5NCBZMTQ4LjI5MSBFLjAzNjIzCkcxIFgxMjAuODg2IFkxNDguNjA2IEUuMDA5ODQKRzEgWDEyMC43MDIgWTE0OC43OSBFLjAwNjc4CkcxIFgxMjAuMjUgWTE0OS4zMjcgRS4wMTgyOQpHMSBYMTE5LjkzMiBZMTQ5LjI4OCBFLjAwODM1CkcxIFgxMTkuNjUyIFkxNDkuNCBFLjAwNzg2CkcxIFgxMTkuMjQ4IFkxNDkuNzEgRS4wMTMyNwpHMSBYMTE4LjY0NSBZMTUwLjgxNiBFLjAzMjgyCkcxIFgxMTguMTY0IFkxNTEuNDQ4IEUuMDIwNjkKRzEgWDExNy43OTQgWTE1MS44NDQgRS4wMTQxMgpHMSBYMTE3LjY2NiBZMTUyLjA2OSBFLjAwNjc0CkcxIFgxMTcuNTMgWTE1Mi4xMzIgRS4wMDM5MQpHMSBYMTE2LjgwOCBZMTUxLjkzMSBFLjAxOTUzCkcxIFgxMTYuMTgxIFkxNTEuODcxIEUuMDE2NDEKRzEgWDExNS42OCBZMTUxLjg3NSBFLjAxMzA1CkcxIFgxMTUuMTM5IFkxNTEuNjkyIEUuMDE0ODgKRzEgWDExNC42NjQgWTE1MS42MjEgRS4wMTI1MQpHMSBYMTEzLjg4NiBZMTUxLjY0OSBFLjAyMDI4CkcxIFgxMTMuNDMgWTE1MS42NDEgRS4wMTE4OApHMSBYMTEyLjc3NSBZMTUxLjY3MSBFLjAxNzA4CkcxIFgxMTIuMjczIFkxNTEuNjEgRS4wMTMxOApHMSBYMTEyLjIzIFkxNTEuNTQyIEUuMDAyMQpHMSBYMTEyLjA3NSBZMTUxLjQ3NyBFLjAwNDM4CkcxIFgxMTEuOTI2IFkxNTEuMTQ1IEUuMDA5NDgKRzEgWDExMS42MzEgWTE1MC44MiBFLiBYMTY1LjUxNCBZMTU2LjM0MSBFLjAxMDI1CkcxIFgxNjUuMTkgWTE1Ny4wODEgRS4wMjEwNQpHMSBYMTY0LjYyNCBZMTU3Ljg4NyBFLjAyNTY2CkcxIFgxNjQuMjU4IFkxNTguMjgzIEUuMDE0MDUKRzEgWDE2NC4xNjEgWTE1OC40NDEgRS4wMDQ4MwpHMSBYMTYzLjgyNyBZMTU4Ljg2OCBFLjAxNDEzCkcxIFgxNjMuMTM4IFkxNTkuNjQ4IEUuMDI3MTIKRzEgWDE2Mi40MDggWTE2MC4xNCBFLjAyMjk0CkcxIFgxNjIuMTUxIFkxNjAuMjc3IEUuMDA3NTkKRzEgWDE2MS45MTQgWTE2MC40ODcgRS4wMDgyNQpHMSBYMTYxLjM1NSBZMTYwLjg2MSBFLjAxNzUyCkcxIFgxNjAuNjUzIFkxNjEuMTgxIEUuMDIwMQpHMSBYMTU5Ljg5OCBZMTYxLjQ3NCBFLjAyMTEKRzEgWDE1OC41MDkgWTE2MS44NzIgRS4wMzc2NQpHMSBYMTU4LjUwOCBZMTYyLjA2NyBFLjAwNTA4CkcxIFgxNTguMzk2IFkxNjIuNDA2IEUuMDA5MwpHMSBYMTU4LjI3MSBZMTYyLjU0IEUuMDA0NzcKRzEgWDE1Ny45ODYgWTE2Mi42NjcgRS4wMDgxMwpHMSBYMTU3LjY2MyBZMTYyLjcyOCBFLjAwODU2CkcxIFgxNTcuNDA4IFkxNjIuODI5IEUuMDA3MTUKRzEgWDE1Ni44ODUgWTE2Mi45MTIgRS4wMTM4CkcxIFgxNTYuNTYgWTE2My4wNSBFLjAwOTIKRzEgWDE1NS43NzMgWTE2My4yMiBFLjAyMDk4CkcxIFgxNTQuOTg4IFkxNjMuNDUxIEUuMDIxMzIKRzEgWDE1NC44NSBZMTYzLjU4NSBFLjAwNTAxCkcxIFgxNTQuNzIyIFkxNjMuODIzIEUuMDA3MDQKRzEgWDE1NC40NDcgWTE2NC4xMTMgRS4wMTA0MQpHMSBYMTU0LjE3NiBZMTY0LjIzMiBFLjAwNzcxCkcxIFgxNTEuNjkxIFkxNjQuMzE0IEUuMDY0NzgKRzEgWDE0OS45NTMgWTE2NC4yNDEgRS4wNDUzMgpHMSBYMTQ5LjI0NiBZMTY0LjA4NSBFLjAxODg2CkcxIFgxNDguNzIxIFkxNjQuMDM5IEUuMDEzNzMKRzEgWDE0OC4xOTUgWTE2My44NzYgRS4wMTQzNQpHMSBYMTQ3LjczNyBZMTYzLjc4NSBFLjAxMjE3CkcxIFgxNDcuNTMxIFkxNjMuNjkyIEUuMDA1ODkKRzEgWDE0Ny4wNDIgWTE2My41OCBFLjAxMzA3CkcxIFgxNDYuMTAyIFkxNjMuMjA2IEUuMDI2MzYKRzEgWDE0NC45NjcgWTE2Mi42ODggRS4wMzI1MQpHMSBYMTQ0LjM5NCBZMTYyLjM3OCBFLjAxNjk3CkcxIFgxNDMuOTc5IFkxNjIuMTkzIEUuMDExODQKRzEgWDE0My40NjcgWTE2MS44NDYgRS4wMTYxMgpHMSBYMTQyLjk1NSBZMTYxLjU0NCBFLjAxNTQ5CkcxIFgxNDIuOTY2IFkxNjEuNjUyIEUuMDAyODMKRzEgWDE0Mi44NDYgWTE2MS45NjkgRS4wMDg4MwpHMSBYMTQyLjUxMiBZMTYyLjI2MiBFLjAxMTU4CkcxIFgxNDIuMjI5IFkxNjIuMzQzIEUuMDA3NjcKRzEgWDE0MS45NzEgWTE2Mi4yOTkgRS4wMDY4MgpHMSBYMTQxLjUgWTE2Mi4wOTggRS4wMTMzNApHMSBYMTQxLjE4MyBZMTYxLjg2MiBFLjAxMDMKRzEgWDE0MC42OTcgWTE2MS41OCBFLjAxNDY0CkcxIFgxMzkuNDQ1IFkxNjAuNzk0IEUuMDM4NTIKRzEgWDEzOS45MjQgWTE2MS41NTggRS4wMjM1CkcxIFgxMzkuOTYzIFkxNjEuOTAyIEUuMDA5MDIKRzEgWDEzOS44MzQgWTE2WDEwOS40NTkgWTE3Mi4zMDEgRS4wMTIyOQpHMSBYMTA5LjE4NiBZMTczLjYxNiBFLjAzNDk5CkcxIFgxMDkuMTAxIFkxNzMuODMxIEUuMDA2MDIKRzEgWDEwOS4wMTggWTE3NC4yIEUuMDA5ODUKRzEgWDEwOC45MjggWTE3NC4zNDkgRS4wMDQ1NApHMSBYMTA4Ljc4OCBZMTc0Ljc5NSBFLjAxMjE4CkcxIFgxMDguNTQ2IFkxNzUuMjc0IEUuMDEzOTgKRzEgWDEwOC40NjIgWTE3NS42MTkgRS4wMDkyNQpHMSBYMTA3LjkzMSBZMTc2LjY2MyBFLjAzMDUyCkcxIFgxMDcuNzIyIFkxNzcuMTQ1IEUuMDEzNjkKRzEgWDEwNy4zMzQgWTE3Ny45MTMgRS4wMjI0MgpHMSBYMTA3LjA2NyBZMTc4LjM0MSBFLjAxMzE0CkcxIFgxMDYuODQgWTE3OC43ODkgRS4wMTMwOQpHMSBYMTA2LjU3IFkxNzkuMjM0IEUuMDEzNTYKRzEgWDEwNi4xNzMgWTE3OS45NyBFLjAyMTc5CkcxIFgxMDUuODI3IFkxODAuNDA5IEUuMDE0NTYKRzEgWDEwNS4yNzEgWTE4MS4zMTIgRS4wMjc2MwpHMSBYMTA0LjUxNSBZMTgyLjI0MyBFLjAzMTI1CkcxIFgxMDQuMTQgWTE4Mi42NTEgRS4wMTQ0NApHMSBYMTAzLjQwMSBZMTgzLjM2MSBFLjAyNjcKRzEgWDEwMi40MDcgWTE4NC4xNTEgRS4wMzMwOApHMSBYMTAxLjk3MiBZMTg0LjQzOCBFLjAxMzU4CkcxIFgxMDEuNTMgWTE4NC42OTMgRS4wMTMzCkcxIFgxMDAuNzc3IFkxODUuMDcxIEUuMDIxOTUKRzEgWDEwMC4yNjUgWTE4NS4yODcgRS4wMTQ0OApHMSBYOTkuNzc1IFkxODUuMzcxIEUuMDEyOTUKRzEgWDk5LjQ4MSBZMTg1LjUxOSBFLjAwODU4CjtXSURUSDowLjQ3Nzc3NApHMSBYOTkuMjMyIFkxODUuNTY0IEUuMDA3MDMKO1dJRFRIOjAuNTA1NTQ4CkcxIFg5OC45ODIgWTE4NS42MSBFLjAwNzUKO1dJRFRIOjAuNTMwNjc0CkcxIFg5OC45MiBZMTg1LjYzNyBFLjAwMjEKO1dJRFRIOjAuNTU1OApHMSBYOTguODU3IFkxODUuNjY1IEUuMDAyMjUKO1dJRFRIOjAuNTk1OTQyCkcxIFg5OC43MDQgWTE4NS42NjYgRS4wMDUzOAo7V0lEVEg6MC42MzYwODMKRzEgWDk4LjU1MSBZMTg1LjY2NyBFLjAwNTc2CkcxIFg5OC4yMDEgWTE4NS43ODggRS4wMTM5NQo7V0lEVEg6MC42MDYxMzYKRzEgWDk3LjkzOSBZMTg1Ljg1MyBFLjAwOTY2CjtXSURUSDowLjU3OTkzMgpHMSBYOTcuNjc2IFkxODUuOTE3IEUuMDA5MjUKO1dJRFRIOjAuNTUzNzI4CkcxIFg5Ny4zOCBZMTg2LjA0MSBFLjAxMDQ0CjtXSURUSDowLjU0NjgyOQpHMSBYOTYuOTk2IFkxODYuMTE5IEUuMDEyNTgKO1dJRFRIOjAuNTA3OTg3CkcxIFg5Ni42NSBZMTg2LjIxMSBFLjAxMDYyCjtXSURUSDowLjQ5MzA3MgpHMSBYOTYuMjAyIFkxODYuMzM3IEUuMDEzMzgKO1dJRFRIOjAuNDg1NDg0CkcxIFg5NS44MzQgWTE4Ni40NzQgRS4wMTExCjtXSURUSDowLjQ2NTQ0OApHMSBYOTUuMzg0IFkxODYuNjAxIEUuMDEyNjMKO1dJRFRIOjAuNDU5MzkzCkcxIFg5NS4xNjkgWTE4Ni43MDYgRS4wMDYzNwo7V0lEVEg6MC40ODA2MjIKRzEgWDk0LjgwMiBZMTg3LjA3NiBFLjAxNDU3CkcxIFg5NC44NTIgWTE4Ni43OTkgRS4wMDc4Nwo7V0lEVEg6MC40NjQ3NC40MzggWTExMi44MzggRS0uMDQ0NTgKRzEgWDE3NC4zMzIgWTExMi45OTkgRS0uMDQ0NTEKRzEgWDE3NC4yMjYgWTExMy4xNjEgRS0uMDQ0Nwo7V0lQRV9FTkQKRzEgRS0uNDU3NzggRjIxMDAKRzEgWjEuNSBGNzIwCkcxIFgxNzUuNTYxIFkxMDkuNTMgRjEwODAwCkcxIFoxLjEgRjcyMApHMSBFLjggRjIxMDAKO1dJRFRIOjAuNDQ5OTk5CkcxIEY0ODAwCkcxIFgxNzguOTkxIFkxMTIuOTYxIEUuMTI2NDEKRzEgWDE3OS4yNjcgWTExMi42NDUgRS4wMTA5MwpHMSBYMTc1Ljg5NiBZMTA5LjI3NCBFLjEyNDIyCkcxIFgxNzYuMjUyIFkxMDkuMDQgRS4wMTExCkcxIFgxNzkuNjIgWTExMi40MDggRS4xMjQxMQpHMSBYMTgwLjA0IFkxMTIuMjM3IEUuMDExODIKRzEgWDE3Ni42NDIgWTEwOC44MzkgRS4xMjUyMQpHMSBYMTc3LjA0MSBZMTA4LjY0NyBFLjAxMTU0CkcxIFgxODAuNDg3IFkxMTIuMDk0IEUuMTI3CkcxIFgxODAuOTIzIFkxMTEuOTM4IEUuMDEyMDcKRzEgWDE3Ny40MDYgWTEwOC40MjEgRS4xMjk2CkcxIFgxNzcuNzggWTEwOC4yMDUgRS4wMTEyNQpHMSBYMTgxLjM5OSBZMTExLjgyNCBFLjEzMzM1CkcxIFgxODEuODY1IFkxMTEuNjk4IEUuMDEyNTgKRzEgWDE3OC4xOTMgWTEwOC4wMjcgRS4xMzUyOQo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTgwLjY0MyBZMTEwLjQ3NyBFLS44CjtXSVBFX0VORApHMSBaMS41IEY3MjAKRzEgWDE2NS41OSBZMTE1Ljc5MiBGMTA4MDAKRzEgWjEuMSBGNzIwCkcxIEUuOCBGMjEwMApHMSBGNDgwMApHMSBYMTY1LjgyOSBZMTE0Ljk2OCBFLjAyMjM1CkcxIFgxNjUuOTg2IFkxMTQuNTk3IEUuMDEwNQpHMSBYMTY2LjE3NyBZMTE0LjY3MyBFLjAwNTM2CkcxIFgxNjYuNjU3IFkxMTQuNzI2IEUuMDEyNTgKRzEgWDE2Ny4yNDQgWTExNC42NSBFLjAxNTQyCkcxIFgxNjcuNzQ3IFkxMTQuNDI2IEUuMDE0MzUKO1dJRFRIOjAuNDgyMzE5CkcxIFgxNjcuOTQ0IFkxMTQuMjcyIEUuMDA3MDIKO1dJRFRIOjAuNTE0NjM5CkcxIFgxNjguMTQxIFkxMTQuMTE3IEUuMDA3NTQKRzEgWDE2OC40MTEgWTExMy42MiBFLjAxNzAyCjtXSURUSDowLjQ4Nzc3OApHMSBYMTY4LjY0NCBZMTEzLjE3NiBFLjAxNDI1CjtXSURUSDowLjQ3NjI0MQpHMSBYMTY4Ljg5NiBZMTEyLjYzOSBFLjAxNjQzCjtXSURUSDowLjQ5MTgxMgpHMSBYMTY5LjIwOSBZMTEyLjA1NyBFLjAxODk0CjtXSURUSDowLjUwNTU5OQpHMSBYMTY5LjQyNiBZMTExLjU5MyBFLjAxNTEyCkcxIFgxNjkuNzQ4IFkxMTEuMDc5IEUuMDE3OTEKO1dJRFRIOjAuNDkwOTYKRzEgWDE3MC4wNjEgWTExMC42NzMgRS4wMTQ2Nwo7V0lEVEg6MC40NjE2MzQKRzEgWDE3MC40MTIgWTExMC4yNDUgRS4wMTQ4Mgo7V0lEVEg6MC40MTQ0NzQKRzEgWDE3MC43MTMgWTEwOS44MzMgRS4wMTIxNgo7V0lEVEg6MC40MDQ1MTEKRzEgWDE3MC45OSBZMTA5LjQxNCBFLjAxMTY2CjtXSURUSDowLjQ0OTk5OQpHMSBYMTcxLjIyOCBZMTA4Ljk1OSBFLjAxMzM4CkcxIFgxNzEuMzA0IFkxMDguNTQ2IEUuMDEwOTQKRzEgWDE3MS4yNzIgWTEwOCBFLlkxNzAuMTUgRS4wMDg3MQpHMSBYOTMuNjc1IFkxNzAuMzE0IEUuMDA2ODYKRzEgWDkzLjMwNSBZMTcwLjQ0NCBFLjAxMDIyCkcxIFg5My4wNzQgWTE3MC40ODQgRS4wMDYxMQpHMSBYOTIuNjcgWTE3MC44ODIgRS4wMTQ3OApHMSBYOTIuMzYyIFkxNzEuMDA1IEUuMDA4NjQKRzEgWDkyLjIxNSBZMTcxLjI0NCBFLjAwNzMxCkcxIFg5MS43NDQgWTE3MS43MzEgRS4wMTc2NQpHMSBYOTEuNDM5IFkxNzEuOTE5IEUuMDA5MzQKRzEgWDkxLjAxMiBZMTcyLjIzMyBFLjAxMzgxCkcxIFg5MC40MjUgWTE3Mi4zODggRS4wMTU4MgpHMSBYODkuNzA4IFkxNzIuNDcgRS4wMTg4CkcxIFg4OS40NTQgWTE3Mi4zODEgRS4wMDcwMQpHMSBYODkuMjE0IFkxNzIuNjQzIEUuMDA5MjYKRzEgWDg4Ljg5NSBZMTcyLjczNCBFLjAwODY0CkcxIFg4OC41MiBZMTcyLjc0NCBFLjAwOTc3CkcxIFg4OC4yNyBZMTcyLjYyIEUuMDA3MjcKRzEgWDg4LjA4MyBZMTcyLjM2NCBFLjAwODI2CkcxIFg4OC4wNTUgWTE3Mi4yNTggRS4wMDI4NgpHMSBYODcuODc0IFkxNzIuMjE2IEUuMDA0ODQKRzEgWDg3LjY3MiBZMTcyLjA1NSBFLjAwNjczCkcxIFg4Ny40NzggWTE3Mi4yMjQgRS4wMDY3CkcxIFg4Ny4yNDMgWTE3Mi4yODMgRS4wMDYzMQpHMSBYODYuMjg2IFkxNzIuMjkxIEUuMDI0OTQKRzEgWDg2LjAxNSBZMTcyLjU1NCBFLjAwOTg0CkcxIFg4NS42NDggWTE3Mi42NjEgRS4wMDk5NgpHMSBYODUuMzQxIFkxNzIuNjEzIEUuMDA4MQpHMSBYODQuOTA0IFkxNzIuMzU5IEUuMDEzMTcKRzEgWDg0LjU3OCBZMTcyLjA3NSBFLjAxMTI3CkcxIFg4NC40NDEgWTE3MS43NTggRS4wMDkKRzEgWDg0LjQyMyBZMTcxLjY0NCBFLjAwMzAxCkcxIFg4NC4yMzQgWTE3MS41NzUgRS4wMDUyNApHMSBYODMuOTM4IFkxNzEuNjA1IEUuMDA3NzUKRzEgWDgzLjA4NSBZMTcxLjQ1OSBFLjAyMjU1CkcxIFg4Mi42MDggWTE3MS4zIEUuMDEzMQpHMSBYODIuMTYxIFkxNzEuMDcyIEUuMDEzMDcKRzEgWDgwLjc4NCBZMTcwLjQzNCBFLjAzOTU0CkcxIFg4MC4zNSBZMTcwLjMyMSBFLjAxMTY5Ck03MyBRNTMgUzIyNQpHMSBYNzkuODM2IFkxNzAuMTAxIEUuMDE0NTcKRzEgWDc5LjM2OCBZMTY5Ljg3MiBFLjAxMzU4CkcxIFg3OC4wNjkgWTE2OS4zODkgRS4wMzYxMQpHMSBYNzcuNTg3IFkxNjkuMjUyIEUuMDEzMDYKRzEgWDc3LjA4NyBZMTY5IEUuMDE0NTkKRzEgWDc2LjU5OCBZMTY4LjgyOCBFLjAxMzUxCkcxIFg3Ni4xMDMgWTE2OC41NyBFLjAxNDU0CkcxIFg3NS42NzYgWTE2OC40MjQgRS4wMTE3NgpHMSBYNzUuMTk3IFkxNjguMzQzIEUuMDEyNjYKRzEgWDc0LjU3MiBZMTY4LjA3NiBFLjAxNzcxCkcxIFg3My40ODMgWTE2Ny43MjQgRS4wMjk4MgpHMSBYNzMuMDEzIFkxNjcuNTQgRS4wMTMxNQpHMSBYNzIuMyBZMTY3LjM4MyBFLjAxOTAyCkcxIFg3MS43NDcgWTE2Ny4yMiBFLjAxNTAyCkcxIFg3MS4wMDIgWTE2Ny4wNiBFLjAxOTg1CkcxIFg3MC4xOTcgWTE2Ni45MjIgRS4wMjEyOApHMSBYNjkuNTU1IFkxNjYuODQ3IEUuMDE2ODQKRzEgWDY4Ljk3OCBZMTY2LjgyOCBZMTI1LjYwMyBFLjAxNzY3CkcxIFgxODcuNTY1IFkxMjUuODE3IEUuMDA4ODMKRzEgWDE4OC4xNjQgWTEyNS45MyBFLjAxNTg4CkcxIFgxODguMzk1IFkxMjYuMDI4IEUuMDA2NTQKRzEgWDE4OC41NDMgWTEyNi4wMDggRS4wMDM4OQpHMSBYMTg4Ljg1NiBZMTI1LjkxMyBFLjAwODUyCkcxIFgxODguODE1IFkxMjUuNTQ5IEUuMDA5NTQKRzEgWDE4OS4zOTEgWTEyNS40NDEgRS4wMTUyNwpHMSBYMTg5Ljc1OSBZMTI1LjQxNiBFLjAwOTYxCkcxIFgxODkuNzggWTEyNS4zOTYgRS4wMDA3NgpHMSBYMTkwLjA0MiBZMTI1LjM5NCBFLjAwNjgzCkcxIFgxOTAuMTM3IFkxMjUuMzYgRS4wMDI2MwpHMSBYMTkwLjQ1IFkxMjUuMDQzIEUuMDExNjEKRzEgWDE5MC44OTggWTEyNC4zMDcgRS4wMjI0NQpHMSBYMTkxLjM0NyBZMTIzLjQxOCBFLjAyNTk1CkcxIFgxOTEuNzk1IFkxMjMuMjE2IEUuMDEyOApHMSBYMTkyLjI0MyBZMTIzLjMwMSBFLjAxMTg4CkcxIFgxOTMuMTQgWTEyMy42NTggRS4wMjUxNgpHMSBYMTkzLjU4OCBZMTIzLjk1MyBFLjAxMzk4CkcxIFgxOTQuMDM2IFkxMjQuNDA2IEUuMDE2NgpHMSBYMTk0LjM0NCBZMTI0LjkxMSBFLjAxNTQxCkcxIFgxOTQuNzM4IFkxMjQuODUgRS4wMTAzOQpHMSBYMTk1Ljg2NCBZMTI0Ljc3NyBFLjAyOTQKRzEgWDE5Ni4zNyBZMTI0LjcxOSBFLjAxMzI3CkcxIFgxOTYuNzc1IFkxMjQuNzE5IEUuMDEwNTUKRzEgWDE5Ni44MTkgWTEyNC42ODUgRS4wMDE0NQo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTk2Ljc3NSBZMTI0LjcxOSBFLS4wMTI4NApHMSBYMTk2LjM3IFkxMjQuNzE5IEUtLjA5MzUyCkcxIFgxOTUuODY0IFkxMjQuNzc3IEUtLjExNzYKRzEgWDE5NC43MzggWTEyNC44NSBFLS4yNjA1NApHMSBYMTk0LjM0NCBZMTI0LjkxMSBFLS4wOTIwNgpHMSBYMTk0LjAzNiBZMTI0LjQwNiBFLS4xMzY1OApHMSBYMTkzLjc3MSBZMTI0LjEzOSBFLS4wODY4Ngo7V0lQRV9FTkQKRzEgWjEuMzUgRjcyMApHMSBYMTk3Ljc4MyBZMTIyLjc5NyBGMTA4MDAKRzEgWi45NSBGNzIwCkcxIEUuOCBGMjEwMApHMSBGNDgwMApHMSBYMTk4LjAwOCBZMTIyLjgzMyBFLjAwNTk0CkcxIFgxOTguMzc1IFkxMjMuMDEgRS4wMTA2MgpHMSBYMTk4LjY4NyBZMTIzLjA3OCBFLjAwODMyCkcxIFgxOTguODEyIFkxMjMuMTM2IEUuMDAzNTkKRzEgWDE5OC45NCBZMTIzLjIyOSBFLjAwNDEyCkcxIFgxOTguOTY4IFkxMjMuMjE2IEUuMDAwOApHMSBYMTk5LjQxNiBZMTIzLjMwMSBFLjAxMTg4CkcxIFgyMDAuMzEyIFkxMjMuNjU4IEUuMDI1MTMKRzEgWDIwMC43NjEgWTEyMy45NTMgRS4wMTQKRzEgWDIwMS4yMDkgWTEyNC40MDYgRS4wMTY2CkcxIFgyMDEuNjU3IFkxMjUuMTQzIEUuMDIyNDcKRzEgWDIwMi4xMDYgWTEyNi4wMzEgRS4wMjU5MwpHMSBYMjAyLjIxNyBZMTI2LjA4MSBFLjAwMzE3CkcxIFgyMDIuMjU3IFkxMjYuMjYyIEUuMDA0ODMKRzEgWDIwMi4yNzEgWTEyNi44MDMgRS4wMTQxCkcxIFgyMDIuMjY3IFkxMjYuOTgyIEUuMDA0NjcKRzEgWDIwMi4yMjEgWTEyNy4yMzQgRS5yb3AucmVtb3ZlKCk7JGJhc2VCYWNrZHJvcD0kYmFzZU1vZGFsPW51bGw7fQpyZXR1cm4gYmFzZUluZGV4W3R5cGVdKyh6SW5kZXhGYWN0b3IqcG9zKTt9fSgpKTtmdW5jdGlvbiB0YXJnZXRJc1NlbGYoY2FsbGJhY2spe3JldHVybiBmdW5jdGlvbihlKXtpZihlJiZ0aGlzPT09ZS50YXJnZXQpe3JldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLGFyZ3VtZW50cyk7fX19CiQuZm4ubW9kYWxtYW5hZ2VyPWZ1bmN0aW9uKG9wdGlvbixhcmdzKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyICR0aGlzPSQodGhpcyksZGF0YT0kdGhpcy5kYXRhKCdtb2RhbG1hbmFnZXInKTtpZighZGF0YSkkdGhpcy5kYXRhKCdtb2RhbG1hbmFnZXInLChkYXRhPW5ldyBNb2RhbE1hbmFnZXIodGhpcyxvcHRpb24pKSk7aWYodHlwZW9mIG9wdGlvbj09PSdzdHJpbmcnKWRhdGFbb3B0aW9uXS5hcHBseShkYXRhLFtdLmNvbmNhdChhcmdzKSl9KX07JC5mbi5tb2RhbG1hbmFnZXIuZGVmYXVsdHM9e2JhY2tkcm9wTGltaXQ6OTk5LHJlc2l6ZTp0cnVlLHNwaW5uZXI6JzxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciBmYWRlIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBtYXJnaW4tbGVmdDogLTEwMHB4OyI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUiPjxkaXYgY2xhc3M9ImJhciIgc3R5bGU9IndpZHRoOiAxMDAlOyI+PC9kaXY+PC9kaXY+PC9kaXY+JyxiYWNrZHJvcFRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtb2RhbC1iYWNrZHJvcCIgLz4nfTskLmZuLm1vZGFsbWFuYWdlci5Db25zdHJ1Y3Rvcj1Nb2RhbE1hbmFnZXIKJChmdW5jdGlvbigpeyQoZG9jdW1lbnQpLm9mZignc2hvdy5icy5tb2RhbCcpLm9mZignaGlkZGVuLmJzLm1vZGFsJyk7fSk7fShqUXVlcnkpOwo7CgovLyBzb3VyY2U6IGpzL2xpYi9ib290c3RyYXAvYm9vdHN0cmFwLW1vZGFsLmpzCiFmdW5jdGlvbigkKXsidXNlIHN0cmljdCI7dmFyIE1vZGFsPWZ1bmN0aW9uKGVsZW1lbnQsb3B0aW9ucyl7dGhpcy5pbml0KGVsZW1lbnQsb3B0aW9ucyk7fTtNb2RhbC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOk1vZGFsLGluaXQ6ZnVuY3Rpb24oZWxlbWVudCxvcHRpb25zKXt2YXIgdGhhdD10aGlzO3RoaXMub3B0aW9ucz1vcHRpb25zO3RoaXMuJGVsZW1lbnQ9JChlbGVtZW50KS5kZWxlZ2F0ZSgnW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsJ2NsaWNrLmRpc21pc3MubW9kYWwnLCQucHJveHkodGhpcy5oaWRlLHRoaXMpKTt0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoJy5tb2RhbC1ib2R5JykubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGZ1bmN0aW9uKCl7dmFyIGU9JC5FdmVudCgnbG9hZGVkJyk7dGhhdC4kZWxlbWVudC50cmlnZ2VyKGUpO30pO3ZhciBtYW5hZ2VyPXR5cGVvZiB0aGlzLm9wdGlvbnMubWFuYWdlcj09PSdmdW5jdGlvbic/dGhpcy5vcHRpb25zLm1hbmFnZXIuY2FsbCh0aGlzKTp0aGlzLm9wdGlvbnMubWFuYWdlcjttYW5hZ2VyPW1hbmFnZXIuYXBwZW5kTW9kYWw/bWFuYWdlcjokKApHMSBYMTI2LjM3IFkxMTEuMTQzIEUuMDE2MzEKRzEgWDEyMS45OCBZMTA2Ljc1MiBFLjE2MTc4CkcxIFgxMjIuMjQxIFkxMDYuNDIzIEUuMDEwOTQKRzEgWDEyNi45OTYgWTExMS4xNzggRS4xNzUyMQpHMSBYMTI3LjYyMiBZMTExLjIxMyBFLjAxNjM0CkcxIFgxMjIuNDU1IFkxMDYuMDQ2IEUuMTkwNApHMSBYMTIyLjYxIFkxMDUuNjEgRS4wMTIwNgpHMSBYMTI4LjI0NyBZMTExLjI0NyBFLjIwNzcxCkcxIFgxMjguODczIFkxMTEuMjgyIEUuMDE2MzQKRzEgWDEyMi42NzEgWTEwNS4wODEgRS4yMjg1MgpHMSBYMTIyLjQxIFkxMDQuMzY5IEUuMDE5NzYKO1dJRFRIOjAuMzcyMTkKRzEgWDEyMi4zOTggWTEwNC4yMTYgRS4wMDMyNQpHMSBYMTIyLjQyNSBZMTA0LjEyMSBFLjAwMjA5CjtXSURUSDowLjQxMTA5NQpHMSBYMTIyLjUxMSBZMTA0LjI2OCBFLjAwNDAyCjtXSURUSDowLjQ0OTk5OQpHMSBYMTIyLjU5OCBZMTA0LjQxNiBFLjAwNDQ3CkcxIFgxMjkuNDk4IFkxMTEuMzE3IEUuMjU0MjcKRzEgWDEzMC4xMjQgWTExMS4zNTIgRS4wMTYzNApHMSBYMTE4LjU0MiBZOTkuNzY5IEUuNDI2OApHMSBYMTE4LjM5MyBZOTkuMjA4IEUuMDE1MTIKO1dJRFRIOjAuMzcyMTkKRzEgWDExOC4zNzQgWTk5LjI3OSBFLjAwMTU2CkcxIFgxMTguNDQ1IFk5OS4yNiBFLjAwMTU2CkcxIFgxMTguNDM0IFk5OS4yMTkgRS4wMDA5CjtXSURUSDowLjQxMTA5NQpHMSBYMTE4LjU0MiBZOTkuMjUyIEUuMDAyNjcKO1dJRFRIOjAuNDQ5OTk5CkcxIFgxMTguNjQ5IFk5OS4yODYgRS4wMDI5MwpHMSBYMTMwLjc1IFkxMTEuMzg2IEUuNDQ1ODgKRzEgWDEzMS4zNzUgWTExMS40MjEgRS4wMTYzMQpHMSBYMTE5LjIwOSBZOTkuMjU1IEUuNDQ4MwpHMSBYMTE5Ljc2OSBZOTkuMjI0IEUuMDE0NjEKRzEgWDEzMi4wMDEgWTExMS40NTYgRS40NTA3MwpHMSBYMTMyLjYyNyBZMTExLjQ5MSBFLjAxNjM0CkcxIFgxMjAuMzI5IFk5OS4xOTMgRS40NTMxNgpHMSBYMTIwLjg4OCBZOTkuMTYxIEUuMDE0NTkKRzEgWDEzMy4yNTIgWTExMS41MjUgRS40NTU1OQpHMSBYMTMzLjg3OCBZMTExLjU2IEUuMDE2MzQKRzEgWDEyMS40NDggWTk5LjEzIEUuNDU4MDMKRzEgWDEyMi4wMDggWTk5LjA5OSBFLjAxNDYxCkcxIFgxMzQuNTAzIFkxMTEuNTk1IEUuNDYwNDQKRzEgWDEzNS40MzEgWTExMS42NDcgRjEwODAwCjtXSURUSDowLjM3MjE5CkcxIEY0ODAwCkcxIFgxMzUuNDQyIFkxMTEuNjg4IEUuMDAwOQpHMSBYMTM1LjM3MSBZMTExLjcwNyBFLjAwMTU2CkcxIFgxMzUuMzkgWTExMS42MzYgRS4wMDE1Ngo7V0lEVEg6MC40MTEwOTUKRzEgWDEzNS4yNiBZMTExLjYzMyBFLjAwMzA3CjtXSURUSDowLjQ0OTk5OQpHMSBYMTM1LjEyOSBZMTExLjYzIEUuMDAzNDEKRzEgWDEyMi41NjggWTk5LjA2OCBFLjQ2Mjg3CkcxIFgxMjMuMTI4IFk5OS4wMzcgRS4wMTQ2MQpHMSBYMTM1LjI3OCBZMTExLjE4OCBFLjQ0NzczCkcxIFgxMzUuMjc4IFkxMTAuNTk3IEUuMDE1NApHMSBYMTIzLjY4NyBZOTkuMDA2IEUuNDI3MTEKRzEgWDEyNC4yNDcgWTk4Ljk3NSBFLjAxLjcwNiBFLjAyNTUKRzEgWDE0Ny43NTggWTExMi43MzIgRS4wNDIwNgpHMSBYMTQ3Ljc1OCBZMTExLjYzNCBFLjAyODYxCkcxIFgxNDcuOTI0IFkxMTEuNDE0IEUuMDA3MTgKRzEgWDE0OC45OTIgWTExMC40MDIgRS4wMzgzNApHMSBYMTQ5Ljg0IFkxMDkuNTM1IEUuMDMxNgpHMSBYMTUwLjg1MSBZMTA4LjQwMyBFLjAzOTU1CkcxIFgxNTEuNzMxIFkxMDcuMzExIEUuMDM2NTQKO1dJRFRIOjAuNDkyNzE0CkcxIFgxNTEuODI0IFkxMDcuMjIyIEUuMDAzNwo7V0lEVEg6MC41MzU0MjgKRzEgWDE1MS45MTcgWTEwNy4xMzMgRS4wMDQwNAo7V0lEVEg6MC41NzgxNDIKRzEgWDE1Mi4wMSBZMTA3LjA0NCBFLjAwNDM4CjtXSURUSDowLjYyMDg1NgpHMSBYMTUyLjEwNCBZMTA2Ljk1NSBFLjAwNDc1CkcxIFgxNTIuNDM1IFkxMDYuNDk3IEUuMDIwNzQKO1dJRFRIOjAuNjAzNzM5CkcxIFgxNTMuMDMxIFkxMDUuNjIyIEUuMDM3NzQKO1dJRFRIOjAuNjQxNTU0CkcxIFgxNTMuMTggWTEwNS4yMjQgRS4wMTYxNQo7V0lEVEg6MC42NTc2MTcKRzEgWDE1My4xODcgWTEwNS4xNTEgRS4wMDI4NgpNMjA0IFMxMDAwCkcxIFgxNTIuNjg3IFkxMDUuMDM3IEYxMDgwMApNMjA0IFM4MDAKO1RZUEU6RXh0ZXJuYWwgcGVyaW1ldGVyCjtXSURUSDowLjQ0OTk5OQpHMSBGMTUwMAoKRzEgWDE1Mi41ODcgWTEwNC41OTggRS4wMTE3MwpHMSBYMTUyLjMwMiBZMTA0LjE3MyBFLjAxMzMzCkcxIFgxNTEuNDQyIFkxMDIuOTk0IEUuMDM4MDIKRzEgWDE1MC42NzkgWTEwMi4wNDIgRS4wMzE3OQpHMSBYMTUwLjA0MSBZMTAxLjMwMiBFLjAyNTQ2CkcxIFgxNDkuNTM4IFkxMDAuNzUzIEUuMDE5NApHMSBYMTQ4LjY4OCBZOTkuODg1IEUuMDMxNjUKRzEgWDE0Ny42NzMgWTk4LjkyNCBFLjAzNjQyCkcxIFgxNDcuMzM5IFk5OC40ODggRS4wMTQzMQpHMSBYMTQ3LjMzOSBZOTYuNDQ3IEUuMDUzMTgKRzEgWDE0Ny42NDQgWTk2LjY0MiBFLjAwOTQzCkcxIFgxNDguMzkyIFk5Ny4yMzMgRS4wMjQ4NApHMSBYMTQ5LjMwMyBZOTggRS4wMzEwMwpHMSBYMTUwLjE4NSBZOTguNzk2IEUuMDMwOTYKRzEgWDE1MC44OTkgWTk5LjQ4MiBFLjAyNTgKRzEgWDE1MS42OTggWTEwMC4yOTYgRS4wMjk3MgpHMSBYMTUyLjMzMSBZMTAwLjk5MyBFLjAyNDUzCkcxIEYxMjAwCkcxIFgxNTIuNTM5IFkxMDEuMzA3IEUuMDA5ODEKRzEgRjEwMjQuMDUzCkcxIFgxNTIuNzY5IFkxMDEuNjUzIEUuMDEwODMKRzEgWDE1Mi44MTQgWTEwMS44NDkgRS4wMDUyNApHMSBGMTIwMApHMSBYMTUyLjg5OCBZMTAyLjIxMiBFLjAwOTcxCkcxIEYxNTAwCkcxIFgxNTMuMDY1IFkxMDIuNTMxIEUuMDA5MzgKRzEgWDE1NC4wMTMgWTEwMy45MzUgRS4wNDQxNApHMSBYMTU0LjI2NiBZMTA0LjQyIEUuMDE0MjUKRzEgWDE1NC4zNTMgWTEwNC45NCBFLjAxMzc0CkcxIFgxNTQuMzQ0IFkxMDUuMjY1IEUuMDA4NDcKRzEgWDE1NC4yMSBZMTA1LjY5IEUuMDExNjEKRzEgWDE1My45MzggWTEwNi4xODEgRS4wMTQ2MwpHMSBYMTUzLjA2NCBZMTA3LjQ2OSBFLjA0MDU2CkcxIEYxNDY5LjY0OApHMSAwCkcxIEYyNDAwCkcxIFgxMzUuMjYyIFk5OS40MzkgRS4wMTk5NAo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTM1Ljg2OSBZOTguODMzIEUtLjE5ODA1CjtXSVBFX0VORApHMSBFLS42MDE5NSBGMjEwMApHMSBaMjUuMDUgRjcyMApHMSBYMTM1LjM5NyBZOTcuOCBGMTA4MDAKRzEgWjI0LjY1IEY3MjAKRzEgRS44IEYyMTAwCjtUWVBFOkludGVybmFsIGluZmlsbAo7V0lEVEg6MC40NQpHMSBGNDgwMApHMSBYMTM1LjQyMiBZOTcuNzMyIEUuMDAxODkKRzEgWDEzNS40MjIgWTk3LjU4NiBFLjAwMzgKRzEgWDEzNS4yNjIgWTk3LjU5NSBFLjAwNDE4CkcxIFgxMzUuMTAxIFk5Ny42MzIgRS4wMDQzCkcxIFgxMzUuMjY0IFk5Ny44MjcgRS4wMDY2MgpHMSBYMTM1LjMyNCBZOTguMDA0IEUuMDA0ODcKRzEgWDEzNC44MzcgWTk3LjY5MyBFLjAxNTA2CkcxIFgxMzQuODk4IFk5Ny42NzkgRS4wMDE2Mwo7V0lQRV9TVEFSVApHMSBGODY0MApHMSBYMTM0LjgzNyBZOTcuNjkzIEUtLjAxNDQ1CkcxIFgxMzUuMzI0IFk5OC4wMDQgRS0uMTMzNDIKRzEgWDEzNS4yNjQgWTk3LjgyNyBFLS4wNDMxNQpHMSBYMTM1LjEwMSBZOTcuNjMyIEUtLjA1ODY4CkcxIFgxMzUuMjYyIFk5Ny41OTUgRS0uMDM4MTQKRzEgWDEzNS40MjIgWTk3LjU4NiBFLS4wMzcKRzEgWDEzNS40MjIgWTk3LjczMiBFLS4wMzM3MQpHMSBYMTM1LjM5NyBZOTcuOCBFLS4wMTY3Mwo7V0lQRV9FTkQKRzEgRS0uNDI0NzIgRjIxMDAKRzEgWjI1LjA1IEY3MjAKRzEgWDExOC40ODMgWTk4Ljg3NyBGMTA4MDAKRzEgWjI0LjY1IEY3MjAKRzEgRS44IEYyMTAwCk0yMDQgUzgwMAo7VFlQRTpQZXJpbWV0ZXIKO1dJRFRIOjAuNTY2OTMxCkcxIEYxNTAwCkcxIFgxMTguNDMyIFk5OC45MiBFLjAwMjIyCjtXSURUSDowLjUyNzk1NApHMSBYMTE4LjM1OCBZOTguOTg0IEUuMDAzMDIKO1dJRFRIOjAuNDg4OTc3CkcxIFgxMTguMjg1IFk5OS4wNDggRS4wMDI3Nwo7V0lEVEg6MC40OTk0OQpHMSBYMTE4LjIwMiBZOTkuMTkxIEUuMDA0ODIKO1dJRFRIOjAuNTQ4OTgxCkcxIFgxMTguMTIgWTk5LjMzNCBFLjAwNTMxCjtXSURUSDowLjU5ODQ3MgpHMSBYMTE4LjAzOCBZOTkuNDc3IEUuMDA1ODIKO1dJRFRIOjAuNTk4NjczCkcxIFgxMTguMDYzIFk5OS44NTkgRS4wMTM1Mgo7V0lEVEg6MC41NDkxMTUKRzEgWDExOC4wODggWTEwMC4wNzQgRS4wMDY5OAo7V0lEVEg6MC40OTk1NTcKRzEgWDExOC4xMTMgWTEwMC4yODggRS4wMDYyOAo7V0lEVEg6MC40NDk5OTkKRzEgWDExOC4xMTMgWTEwMC43NiBFLjAxMjMKRzEgWDExNy4wOTggWTEwMC43NDEgRS4wMjY0NQpHMSBYMTE3LjA5NyBZMTAwLjEzNCBFLjAxNTgyCkcxIFgxMTcuMjEyIFkxMDAuMDg4IEUuMDAzMjMKO1dJRFRIOjAuNDg5MDMyCkcxIFgxMTcuMjc1IFkxMDAuMDA3IEUuMDAyOTIKO1dJRFRIOjAuNTI4MDY0CkcxIFgxMTcuMzM4IFk5OS45MjYgRS4wMDMxNwo7V0lEVEg6MC41NjcwOTYKRzEgWDExNy40MDIgWTk5Ljg0NSBFLjAwMzQ0CjtXSURUSDowLjYwNjEyOApHMSBYMTE3LjQ2NSBZOTkuNzY0IEUuMDAzNnRhKSB9LCBjc3M6IHsgYWN0aXZlOiAkcm9vdC5kaXN0YW5jZSgpID09PSAkZGF0YSB9LCBhdHRyOiB7IGlkOiAnY29udHJvbC1kaXN0YW5jZScgKyAkcm9vdC5zdHJpcERpc3RhbmNlRGVjaW1hbCgkZGF0YSkgfSI+PC9idXR0b24+CiAgICAgICAgICAgIDwhLS0gL2tvIC0tPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBGZWVkIHJhdGUgLS0+CiAgICA8ZGl2IGlkPSJjb250cm9sLWpvZy1mZWVkcmF0ZSIgY2xhc3M9ImpvZy1wYW5lbCI+CiAgICAgICAgPGxhYmVsPkZlZWQgcmF0ZSBtb2RpZmllcjogPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBkYXRhLWJpbmQ9InBvcG92ZXI6IHtwbGFjZW1lbnQ6ICd0b3AnLCB0cmlnZ2VyOiAnaG92ZXInLCB0aXRsZTogJ1BsZWFzZSBub3RlIScsIGNvbnRlbnQ6ICdUaGUgZmVlZCByYXRlIGNhbiBvbmx5IGJlIHNldCwgaXQgY2Fubm90IGJlIHJlYWQgYmFjayBmcm9tIHRoZSBmaXJtd2FyZSBkdWUgdG8gYSBsaW1pdGF0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uIHByb3RvY29sLiBUaGVyZSBpcyBubyB3YXkgdG8gc2hvdyB0aGUgY3VycmVudCBzZXR0aW5nLid9Ij48aSBjbGFzcz0iZmFzIGZhLWluZm8tY2lyY2xlIj48L2k+PC9hPjwvbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYXBwZW5kIGNvbnRyb2wtYm94Ij4KICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9ImlucHV0LW1pbmkiIG1pbj0iMSIgc3RlcD0iMSIgZGF0YS1iaW5kPSJ0ZXh0SW5wdXQ6IGZlZWRSYXRlLCBldmVudDogeyBibHVyOiByZXNldEZlZWRSYXRlRGlzcGxheSwgZm9jdXM6IGNhbmNlbEZlZWRSYXRlRGlzcGxheVJlc2V0IH0sIGNzczogeyBwdWxzYXRlX3RleHRfb3BhY2l0eTogZmVlZFJhdGVSZXNldHRlcigpICE9PSB1bmRlZmluZWQgfSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhZGQtb24iPiU8L3NwYW4+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgZGF0YS1iaW5kPSJlbmFibGU6IGlzT3BlcmF0aW9uYWwoKSAmJiBmZWVkUmF0ZSgpLCBjbGljazogZnVuY3Rpb24oKSB7ICRyb290LnNlbmRGZWVkUmF0ZUNvbW1hbmQoKSB9Ij5TZXQ8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KPCEtLSBFeHRydXNpb24gY29udHJvbCBwYW5lbCAtLT4KPGRpdiBpZD0iY29udHJvbC1qb2ctZXh0cnVzaW9uIiBjbGFzcz0iam9nLXBhbmVsIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGRhdGEtYmluZD0idmlzaWJsZTogbG9naW5TdGF0ZS5oYXNQZXJtaXNzaW9uS28oYWNjZXNzLnBlcm1pc3Npb25zLkNPTlRST0wpKCkgJiYgdG9vbHMoKS5sZW5ndGggPiAwIj4KICAgIDxoMT5Ub28="
